MWX/SpamFerret/tables/attempt: Difference between revisions

From Woozle Writes Code
< MWX‎ | SpamFerret‎ | tables
Jump to navigation Jump to search
m (moved SpamFerret/tables/attempts to SpamFerret/tables/attempt: singularizing for new version)
(oops - Addr_Client must be a string, not INT)
Line 4: Line 4:
** '''2009-08-07''' Added '''Edit'''
** '''2009-08-07''' Added '''Edit'''
** '''2009-08-08''' ID_Client -> Addr_Client
** '''2009-08-08''' ID_Client -> Addr_Client
** '''2009-08-09''' Addr_Client must be a *string*
* '''Fields''':
* '''Fields''':
** '''Code''':
** '''Code''':
Line 16: Line 17:
==SQL==
==SQL==
<mysql>CREATE TABLE `attempt` (
<mysql>CREATE TABLE `attempt` (
   `ID`        INT NOT NULL AUTO_INCREMENT,
   `ID`         INT         NOT NULL AUTO_INCREMENT,
   `When`       DATETIME                   COMMENT "timestamp of attempt",
   `When`       DATETIME                 COMMENT "timestamp of attempt",
   `ID_Pattern` INT DEFAULT NULL           COMMENT "(patterns.ID) pattern matched",
   `ID_Pattern` INT     DEFAULT NULL     COMMENT "(patterns.ID) pattern matched",
   `ID_Archive` INT DEFAULT NULL           COMMENT "(pattern_archive.ID) pattern matched",
   `ID_Archive` INT     DEFAULT NULL     COMMENT "(pattern_archive.ID) pattern matched",
   `Addr_Client` INT NOT NULL             COMMENT "(client.Address) spamming client",
   `Addr_Client` VARCHAR(15) NOT NULL     COMMENT "(client.Address) spamming client",
   `IDS_Session` varchar(255)             COMMENT "PHP session ID from session_id()",
   `IDS_Session` VARCHAR(255)             COMMENT "PHP session ID from session_id()",
   `Code`       varchar(15)               COMMENT "type of attempt",
   `Code`       VARCHAR(15)             COMMENT "type of attempt",
   `PageServer` varchar(63)               COMMENT "identifier of wiki being attacked (usually domain)",
   `PageServer` VARCHAR(63)             COMMENT "identifier of wiki being attacked (usually domain)",
   `PageName`   varchar(255)               COMMENT "name of page where the spam would have displayed",
   `PageName`   VARCHAR(255)             COMMENT "name of page where the spam would have displayed",
   `didAllow`   TINYINT(1)   DEFAULT FALSE COMMENT "edit was allowed",
   `didAllow`   TINYINT(1) DEFAULT FALSE COMMENT "edit was allowed",
   `Edit`       MEDIUMTEXT                 COMMENT "submitted text",
   `Edit`       MEDIUMTEXT               COMMENT "submitted text",
   `Diff`       MEDIUMTEXT                 COMMENT "difference between original and attempted edit",
   `Diff`       MEDIUMTEXT               COMMENT "difference between original and attempted edit",
   PRIMARY KEY(`ID`)
   PRIMARY KEY(`ID`)
) ENGINE = MYISAM;</mysql>
) ENGINE = MYISAM;</mysql>

Revision as of 12:52, 9 August 2009

About

  • History:
    • 2009-08-05 Added ID_Archive
    • 2009-08-07 Added Edit
    • 2009-08-08 ID_Client -> Addr_Client
    • 2009-08-09 Addr_Client must be a *string*
  • Fields:
    • Code:
      • NULL = normal filter match
      • "AMP" = ampersandbot (to be eventually superceded by some kind of difference-pattern)
      • "THR" = throttled: too many spam attempts, temporary blacklist of IP address
    • MatchText: mainly useful for regex filters and (especially) non-listable offenses
    • ID_Pattern needs to allow NULL in order to log throttled saves with no pattern match
    • ID_Archive means the same thing as ID_Pattern, but refers to Template:Spamferret instead of Template:Spamferret. This is DEFAULT NULL for backward compatibility.
    • Edit: text of submitted edit
    • Diff: diff between submitted edit and existing text

SQL

<mysql>CREATE TABLE `attempt` (

 `ID`          INT         NOT NULL AUTO_INCREMENT,
 `When`        DATETIME                 COMMENT "timestamp of attempt",
 `ID_Pattern`  INT     DEFAULT NULL     COMMENT "(patterns.ID) pattern matched",
 `ID_Archive`  INT     DEFAULT NULL     COMMENT "(pattern_archive.ID) pattern matched",
 `Addr_Client` VARCHAR(15) NOT NULL     COMMENT "(client.Address) spamming client",
 `IDS_Session` VARCHAR(255)             COMMENT "PHP session ID from session_id()",
 `Code`        VARCHAR(15)              COMMENT "type of attempt",
 `PageServer`  VARCHAR(63)              COMMENT "identifier of wiki being attacked (usually domain)",
 `PageName`    VARCHAR(255)             COMMENT "name of page where the spam would have displayed",
 `didAllow`    TINYINT(1) DEFAULT FALSE COMMENT "edit was allowed",
 `Edit`        MEDIUMTEXT               COMMENT "submitted text",
 `Diff`        MEDIUMTEXT               COMMENT "difference between original and attempted edit",
 PRIMARY KEY(`ID`)

) ENGINE = MYISAM;</mysql>