matomo/referrer-spam-blacklist

社区贡献的引用垃圾邮件黑名单


README

这是一个由Matomo(前Piwik)维护的社区贡献的引用垃圾邮件黑名单,Matomo是领先的开源网站分析平台。

用法

该列表存储在本存储库的spammers.txt文件中。此文本文件每行包含一个主机。

您可以手动下载此文件,下载整个文件夹的zip包,或者使用git克隆存储库

git clone https://github.com/matomo-org/referrer-spam-list.git

PHP

如果您使用PHP,您也可以通过Composer安装列表

composer require matomo/referrer-spam-blacklist

使用您喜欢的语言解析文件应该相对容易。请注意,该文件可能包含空行。

以下是一个使用PHP的示例

$list = file('spammers.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

Nginx

Nginx的server块可以配置为检查引用并返回错误

if ($http_referer ~ '0n-line.tv') {return 403;}
if ($http_referer ~ '100dollars-seo.com') {return 403;}
...

当列表合并时,列表长度超过了单个正则表达式的最大长度,因此必须按上述方式将主机拆分。

以下是一个创建nginx配置文件的bash脚本

sort spammers.txt | uniq | sed 's/\./\\\\./g' | while read host; 
do 
    echo "if (\$http_referer ~ '$host') {return 403;}" >> /etc/nginx/referer_spam.conf
done;

然后您可以在server块中包含/etc/nginx/referer_spam.conf;

现在作为一个每日cron作业,以便列表保持最新

0 0 * * * cd /etc/nginx/referrer-spam-blacklist/ && git pull > /dev/null && echo "" > /etc/nginx/referer_spam.conf && sort spammers.txt | uniq | sed 's/\./\\\\\\\\./g' | while read host; do echo "if (\$http_referer ~ '$host') {return 403;}" >> /etc/nginx/referer_spam.conf; done; service nginx reload > /dev/null

在Matomo(以前称为Piwik)中

该列表包含在每次Matomo版本中,以便自动过滤引用垃圾邮件。Matomo还将每周自动更新此列表到最新版本。

贡献

要向列表中添加新的引用垃圾邮件发送者,请在此处编辑spammers.txt文件并选择Create a new branch for this commit and start a pull request.。在您的pull请求中,请解释引用域出现的位置以及您认为它是垃圾邮件发送者的原因。请为每个新域名打开一个pull请求。

如果您打开一个pull请求,如果保持每个主机名每行,保持列表按字母顺序排列,并使用Linux换行符,则将受到赞赏。

请在打开新的问题之前搜索是否有人已经报告了该主机。

子域名

Matomo将对列表中的域名进行子字符串匹配,因此添加semalt.com足以阻止所有子域名引用,例如semalt.semalt.com

但是,在某些情况下,您可能只想添加子域名而不是根域名。例如,添加referrerspammer.tumblr.com但不要添加tumblr.com,否则会影响所有*.tumblr.com站点。

排序

为了保持列表在分支中排序一致,建议让计算机进行排序。列表遵循sort中实现的归并排序算法。您可以使用sort对列表进行排序并过滤掉重复项

sort -uf -o spammers.txt spammers.txt

社区项目

Apache .htaccess 引用垃圾邮件黑名单 - 为Apache用户生成基于spammers.txt的RewriteConds的脚本来阻止引用垃圾邮件。

免责声明

此列表中的引用垃圾邮件由社区贡献,提供原样。自行决定使用:它可能不完整(尽管我们力求保持其更新)并且可能包含过时条目(如果某个主机名被添加但实际上不是垃圾邮件,请告知我们)。

许可协议

公有领域(无版权)。