MWX/SpamFerret/tables/attempt: Difference between revisions

From Woozle Writes Code
< MWX‎ | SpamFerret‎ | tables
Jump to navigation Jump to search
(8/7: "Edit" field)
(8/8: ID_Client -> Addr_Client; removing MatchText; singularizing table name)
Line 3: Line 3:
** '''2009-08-05''' Added '''ID_Archive'''
** '''2009-08-05''' Added '''ID_Archive'''
** '''2009-08-07''' Added '''Edit'''
** '''2009-08-07''' Added '''Edit'''
** '''2009-08-08''' ID_Client -> Addr_Client
* '''Fields''':
* '''Fields''':
** '''Code''':
** '''Code''':
Line 14: Line 15:
** '''Diff''': diff between submitted edit and existing text
** '''Diff''': diff between submitted edit and existing text
==SQL==
==SQL==
<mysql>CREATE TABLE `attempts` (
<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",
   `ID_Client`  INT NOT NULL               COMMENT "(clients.ID) spamming client",
   `Addr_Client`  INT 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",
  `MatchText`  varchar(255) DEFAULT NULL  COMMENT "optional: text that triggered the filter",
   `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",

Revision as of 01:59, 9 August 2009

About

  • History:
    • 2009-08-05 Added ID_Archive
    • 2009-08-07 Added Edit
    • 2009-08-08 ID_Client -> Addr_Client
  • 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`  INT 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>