MWX/SpamFerret/tables/client: Difference between revisions
< MWX | SpamFerret | tables
Jump to navigation
Jump to search
(about - fields) |
(8/8: dropping ID field) |
||
| Line 1: | Line 1: | ||
==About== | ==About== | ||
* '''History''': | |||
** '''2009-08-08''' Dropping "ID" field, because "Address" should be the key | |||
* '''Fields''': | * '''Fields''': | ||
** '''Retries''': | ** '''Retries''': | ||
| Line 9: | Line 11: | ||
==SQL== | ==SQL== | ||
<mysql>CREATE TABLE `clients` ( | <mysql>CREATE TABLE `clients` ( | ||
`Address` VARCHAR(15) NOT NULL COMMENT 'IP address', | |||
`Address` VARCHAR(15) | |||
`WhenFirst` DATETIME COMMENT 'when this IP address first submitted a spam', | `WhenFirst` DATETIME COMMENT 'when this IP address first submitted a spam', | ||
`WhenLast` DATETIME COMMENT 'when this IP address last submitted a spam', | `WhenLast` DATETIME COMMENT 'when this IP address last submitted a spam', | ||
| Line 17: | Line 18: | ||
`doBlock` TINYINT(1) COMMENT "TRUE = permanent block", | `doBlock` TINYINT(1) COMMENT "TRUE = permanent block", | ||
`Notes` VARCHAR(255) DEFAULT NULL COMMENT "human-added notes", | `Notes` VARCHAR(255) DEFAULT NULL COMMENT "human-added notes", | ||
PRIMARY KEY(` | PRIMARY KEY(`Address`) | ||
) | ) | ||
ENGINE = MYISAM;</mysql> | ENGINE = MYISAM;</mysql> | ||
Revision as of 01:36, 9 August 2009
About
- History:
- 2009-08-08 Dropping "ID" field, because "Address" should be the key
- Fields:
- Retries:
- Each time a client submits spam, clients.Retries increments...
- ...unless clients.WhenLast was sufficiently long ago, in which case clients.Retries is reset to 0 (and WhenLast is updated).
- Each time a client submits non-spam, if clients.Retries is too high and WhenLast is recent enough, the content is refused without checking for a spam match.
- Net effect is that too many spams within a certain period of time causes an IP to be temporarily blacklisted.
- Retries:
SQL
<mysql>CREATE TABLE `clients` (
`Address` VARCHAR(15) NOT NULL COMMENT 'IP address', `WhenFirst` DATETIME COMMENT 'when this IP address first submitted a spam', `WhenLast` DATETIME COMMENT 'when this IP address last submitted a spam', `Retries` INT DEFAULT NULL COMMENT 'number of spam retries', `Count` INT DEFAULT 0 COMMENT 'number of attempts', `doBlock` TINYINT(1) COMMENT "TRUE = permanent block", `Notes` VARCHAR(255) DEFAULT NULL COMMENT "human-added notes", PRIMARY KEY(`Address`)
) ENGINE = MYISAM;</mysql>