dzeta / blacklist-alpha

恶意引用网站列表(垃圾邮件发送者/恶意软件域名),黑名单电子邮件和黑名单IP

dev-master 2018-02-08 17:55 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:49:21 UTC


README

Under Development license

这是由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

以下是对任何获得本软件及其相关文档副本(“软件”)的人的免费许可,允许其在不受限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许将软件提供给其他人,以供其使用,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的还是法定的,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他方式,是否源于、源自或与软件或其使用或其他交易有关。