扩展:防滥用过滤器/防滥用过滤器日誌表
字段
afl_id
主关键字
afl_filter_global
Whether the filter triggered is a global filter.
1
if it's a global filter, 0
otherwise.
afl_filter_id
觸發過濾器的編號。
afl_user
做出此動作的用戶ID。
afl_user_text
做出此動作的用戶名。
afl_ip
觸發過濾器時用戶所使用的IP位址。
afl_action
觸發過濾器時所做的動作。
可以是下列的這些值:
edit
, delete
, createaccount
, move
, upload
, autocreateaccount
, stashupload
afl_actions
過濾器對動作進行了什麼操作,逗號分隔。例如:
disallow,tag
afl_var_dump
與編輯匹配的過濾器的變數值,以前用序列化PHP陣列儲存。
如果內容是stored-text:
跟隨一個數字,那麼內容不會儲存在此,而是儲存在text
表,且該數字是該表的old_id
標識符。
這是自MediaWiki 1.19起的預設設定。
如果外部儲存啟用,則內容在預設外部儲存中。
Prior to MediaWiki 1.21, instead of a native PHP array, an instance of AbuseFilterVariableHolder class was being serialized. To differentiate this, the nativeDataArray
flag is added to the text
table on new entries.
例如:
stored-text:66019837
afl_timestamp
Typical MediaWiki timestamp of the action filtered and hence of the abuse log entry about it.
afl_namespace
觸發動作的目標命名空間。
afl_title
觸發動作的目標標題。
afl_wiki
如果正在使用全域防濫用過濾器,則會在中央資料庫上填寫此欄位,並保留過濾器被觸發的Wiki ID。
跟wfWikiID
同樣格式。
afl_deleted
濫用日誌項目是否被監督。
如果被监督削除則為1
,否則為0
。
afl_patrolled_by
未使用。
afl_rev_id
revision.rev_id
的外鍵,僅為已保存的編輯填寫以顯示差異連結。
架構
mysql> describe abuse_filter_log; +------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+---------------------+------+-----+---------+----------------+ | afl_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | afl_global | tinyint(1) | NO | MUL | NULL | | | afl_filter_id | bigint(20) unsigned | NO | | NULL | | | afl_user | bigint(20) unsigned | NO | MUL | NULL | | | afl_user_text | varbinary(255) | NO | | NULL | | | afl_ip | varbinary(255) | NO | MUL | NULL | | | afl_action | varbinary(255) | NO | | NULL | | | afl_actions | varbinary(255) | NO | | NULL | | | afl_var_dump | blob | NO | | NULL | | | afl_timestamp | binary(14) | NO | MUL | NULL | | | afl_namespace | int(11) | NO | MUL | NULL | | | afl_title | varbinary(255) | NO | | NULL | | | afl_wiki | varbinary(64) | YES | MUL | NULL | | | afl_deleted | tinyint(1) | NO | | 0 | | | afl_patrolled_by | int(10) unsigned | NO | | 0 | | | afl_rev_id | int(10) unsigned | YES | MUL | NULL | | +------------------+---------------------+------+-----+---------+----------------+
MariaDB> SELECT afl_id, afl_filter, afl_user, afl_user_text, afl_ip, afl_action, afl_actions, afl_var_dump, afl_timestamp, afl_namespace, afl_title, afl_wiki, afl_deleted, afl_patrolled_by, afl_rev_id FROM abuse_filter_log ORDER BY afl_id DESC LIMIT 1; +--------+------------+----------+----------------+--------+------------+-------------+----------------------+----------------+---------------+-----------+----------+-------------+------------------+------------+ | afl_id | afl_filter | afl_user | afl_user_text | afl_ip | afl_action | afl_actions | afl_var_dump | afl_timestamp | afl_namespace | afl_title | afl_wiki | afl_deleted | afl_patrolled_by | afl_rev_id | +--------+------------+----------+----------------+--------+------------+-------------+----------------------+----------------+---------------+-----------+----------+-------------+------------------+------------+ | 358580 | 9 | 0 | 151.54.106.177 | NULL | edit | tag | stored-text:66020782 | 20140601174723 | 0 | 24:61 | NULL | 0 | 0 | NULL | +--------+------------+----------+----------------+--------+------------+-------------+----------------------+----------------+---------------+-----------+----------+-------------+------------------+------------+ 1 row in set (0.01 sec)
Indexes
+------------------+------------+---------------------------+--------------+---------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +------------------+------------+---------------------------+--------------+---------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | abuse_filter_log | 0 | PRIMARY | 1 | afl_id | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_filter_timestamp_full | 1 | afl_global | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_filter_timestamp_full | 2 | afl_filter_id | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_filter_timestamp_full | 3 | afl_timestamp | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_user_timestamp | 1 | afl_user | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_user_timestamp | 2 | afl_user_text | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_user_timestamp | 3 | afl_timestamp | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_timestamp | 1 | afl_timestamp | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_page_timestamp | 1 | afl_namespace | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_page_timestamp | 2 | afl_title | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_page_timestamp | 3 | afl_timestamp | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_ip_timestamp | 1 | afl_ip | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_ip_timestamp | 2 | afl_timestamp | A | 0 | NULL | NULL | | BTREE | | | | abuse_filter_log | 1 | afl_rev_id | 1 | afl_rev_id | A | 0 | NULL | NULL | YES | BTREE | | | | abuse_filter_log | 1 | afl_wiki_timestamp | 1 | afl_wiki | A | 0 | NULL | NULL | YES | BTREE | | | | abuse_filter_log | 1 | afl_wiki_timestamp | 2 | afl_timestamp | A | 0 | NULL | NULL | | BTREE | | | +------------------+------------+---------------------------+--------------+---------------+-----------+-------------+----------+--------+------+------------+---------+---------------+