这是一个由社区贡献的引荐垃圾邮件发送者列表,由领先的开源网络分析平台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;}
...
当组合在一起时,列表超过了单个正则表达式的最大长度,因此必须像上面所示那样将主机名分开。
这里有一个bash脚本来创建nginx配置文件:
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
块内include /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文件并选择创建一个新分支并开始拉取请求
。在你的拉取请求中,请解释引荐域名出现的位置以及你认为它是垃圾邮件发送者的原因。请为每个新域名开启一个拉取请求。
如果你开启一个拉取请求,我们希望你能保持每行一个主机名,保持列表按字母顺序排序,并使用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列表的脚本。
免责声明
这个引荐垃圾邮件发送者列表由社区贡献,按原样提供。使用时请自行判断:它可能不完整(尽管我们致力于保持其最新状态),也可能包含过时的条目(如果添加了一个主机名但实际上不是垃圾邮件发送者,请告诉我们)。
许可
公共领域(无版权)。