dzeta / blacklist-alpha
恶意引用网站列表(垃圾邮件发送者/恶意软件域名),黑名单电子邮件和黑名单IP
Requires
- php: >=5.6 | >=7.0
- mso/idna-convert: ^1.1.0
- roave/security-advisories: dev-master
- symfony/polyfill-php56: ^1.6.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ~1.7
- phpunit/phpunit: ~4.6
This package is not auto-updated.
Last update: 2024-09-24 02:49:21 UTC
README
这是由DZeta - WordPress网站开发者和设计师维护的社区贡献列表,包括引用垃圾邮件发送者、不良IP和不良电子邮件。
用法
列表存储在本存储库中
- 垃圾邮件发送者域名:
spammers_domains.txt - 黑名单IP:
blacklist_ips.txt - 黑名单电子邮件:
blacklist_emails.txt
这些文本文件每行包含一个主机。
您可以下载整个文件夹作为zip文件下载,或者使用git克隆存储库
git clone https://github.com/DZetaDev/Blacklist-Alpha.git blacklist-alpha
PHP
如果您正在使用PHP,也可以通过Composer安装列表
composer require dzeta/blacklist-alpha "dev-master"
使用您喜欢的语言解析文件应该很简单。请注意,文件可能包含空行。
以下是一个使用PHP的示例
$list_txt = file('spammers_domains.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // Another alternative. $list_json = 'spammers_domains.json'; $file = file_get_contents($list_json); $spammers_domains = json_decode($file); // OR $domainsFile = 'spammers_domains.txt'; $fileList = fopen($domainsFile, 'r');
Apache
.htaccess是Apache上运行的Web服务器配置文件。此文件通常位于您网站的根目录"public_html"文件夹中。
.htaccess文件使用两个模块来防止引用垃圾邮件,mod_rewrite和mod_setenvif。请根据您的Apache服务器配置决定哪种方法最适合。此文件已准备好使用Apache 2.4,其中mod_authz_host已被弃用。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} ^http(s)?://(www.)?.*0akley\.cc.*$ [NC,OR] RewriteCond %{HTTP_REFERER} ^http(s)?://(www.)?.*1pamm\.ru.*$ [NC] ## [NC] On last domain. RewriteRule ^(.*)$ – [F,L] </IfModule> <IfModule mod_setenvif.c> SetEnvIfNoCase Referer 0akley\.cc spambot=yes SetEnvIfNoCase Referer 1pamm\.ru spambot=yes </IfModule> # Apache 2.2 <IfModule !mod_authz_core.c> <IfModule mod_authz_host.c> Order allow,deny Allow from all Deny from env=spambot </IfModule> </IfModule> # Apache 2.4 <IfModule mod_authz_core.c> <RequireAll> Require all granted Require not env spambot </RequireAll> </IfModule>
Nginx
Nginx的server块可以配置为检查引用并返回错误
if ($http_referer ~ '0akley.cc') {return 403;} if ($http_referer ~ '1pamm.ru') {return 403;}
当列表与单个正则表达式表达式的最大长度相结合时,将超出最大长度,因此必须按照上述方式拆分主机。
以下是一个用于创建nginx配置文件的bash脚本
sort spammers_domains.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/blacklist-alpha/ && git pull > /dev/null && echo "" > /etc/nginx/referer_spam.conf && sort spammers_domains.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
否则,您可以使用referral_spam.conf在/etc/nginx中,在/etc/nginx/nginx.conf中全局包含它
http {
include referral-spam.conf;
}
将以下内容添加到需要保护的每个/etc/nginx/site-available/your-site.conf中
server {
if ($bad_referer) {
return 403;
}
}
Varnish
将referral_spam.vcl添加到**Varnish 4**默认文件default.vcl,在您的默认后端定义下面添加以下代码
include "referral_spam.vcl";
sub vcl_recv { call block_referral_spam; }
贡献
要将新的引用垃圾邮件发送者添加到列表中,请单击此处编辑spammers_domains_ext.txt文件并创建一个pull request。或者,您可以创建新问题。在您的问题或pull request中,请**解释引用域名出现的位置以及为什么您认为它是垃圾邮件发送者**。强烈建议您**为每个新域名打开一个pull request**。
要将新的引用不良IP(恶意软件/僵尸网络/垃圾邮件发送者)添加到列表中,请单击此处编辑blacklist_ips.txt文件并创建一个pull request。或者,您可以创建新问题。在您的问题或pull request中,请**解释引用IP出现的位置以及为什么您认为它是不良IP**。强烈建议您**为每个新IP打开一个pull request**。
要将新的引用者电子邮件添加到列表中,请点击此处编辑blacklist_emails.txt文件并创建一个pull request。或者您也可以创建一个新问题。在您的问题或pull request中,请解释引用者IP出现的位置以及为什么您认为它是坏电子邮件。强烈建议您为每封新电子邮件打开一个pull request。
如果您打开pull request,如果您能保持每行一个主机名,保持列表按字母顺序排序,并使用Linux行结束符,我们将非常感激。
在打开新问题之前,请搜索看看是否有人已经报告过该主机。
有关更多详细信息,请阅读CONTRIBUTING.md。
子域名
DZeta将对列表中的域名执行子字符串匹配,因此添加semalt.com就足以阻止所有子域名引用者,例如semalt.semalt.com。
然而,在某些情况下,您可能只想添加子域名而不是根域名。例如,添加referrerspammer.tumblr.com但不添加tumblr.com,否则所有*.tumblr.com网站都会受到影响。
排序
为了在分支中保持列表排序的一致性,建议让计算机进行排序。列表遵循在sort中实现的归并排序算法。您可以使用sort对列表进行排序并过滤掉重复项
sort -uf -o spammers_domains.txt spammers_domains.txt
免责声明
这个引用者垃圾邮件列表是由社区贡献的,并按原样提供。请自行决定使用:它可能不完整(尽管我们努力保持其最新状态),可能包含过时的条目。
许可
在MIT许可下。
MIT许可(MIT)
版权所有(c)2015 DZeta和其他贡献者。https://www.dzeta.biz
以下是对任何获得本软件及其相关文档副本(“软件”)的人的免费许可,允许其在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许将软件提供给其他人,以供其使用,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的还是法定的,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他方式,是否源于、源自或与软件或其使用或其他交易有关。