我在Nginx服务器下运行两个杂种。我不断收到一个不存在的文件的请求。 IP地址频繁变化,但引荐网址保持不变。我想解决这个问题。如何使用Nginx阻止引用垃圾邮件?
9
A
回答
10
https://calomel.org/nginx.html
阻止大多数 “垃圾参照” - “不止一个问题的烦恼”
nginx的。 conf
## Deny certain Referers (case insensitive)
## The ~* makes it case insensitive as opposed to just a ~
if ($http_referer ~* (babes|click|diamond|forsale|girl|jewelry|love|nudit|organic|poker|porn|poweroversoftware|sex|teen|video|webcam|zippo))
{ return 403; }
1
我之前在类似的情况下,我需要基于行为来阻止人们,而不是其他防火墙可以自行排除的任意规则。
他们我的方式解决该问题的工作是使我的逻辑(在你的情况的Rails)做拦截...但一轮很长的路要走:
- 有你的逻辑维护块列表作为换行分隔的明文文件。
- 创建一个bash(或其他)脚本,作为根用户读取该文件,并添加其listees到防火墙的拦截列表
- 创建一个cron作业来再次调用脚本,作为根
我之所以这样做(而不只是给Django权限来改变防火墙配置)很简单:安全。如果我的应用程序遭到黑客攻击,我不希望它受到其他任何伤害。
的bash脚本是这样的:
exec < /path/to/my/djago-maintained/block-list
while read line
do
iptables -A INPUT --source $line/32 -j DROP
done
1
我已经创建模块在黑名单检查传入IP https://github.com/oneumyvakin/ngx_http_blacklist_lookup_module
它使用黑名单从projecthoneypot.org,blocklist.de和uceprotect.net
6
使用Nginx的map module是AA位更高效和更易于管理因为名单变得漫长。
把这个在你的http {}块:
map $http_referer $bad_referer {
hostnames;
default 0;
# Put regexes for undesired referers here
"~social-buttons.com" 1;
"~semalt.com" 1;
"~kambasoft.com" 1;
"~savetubevideo.com" 1;
"~descargar-musica-gratis.net" 1;
"~7makemoneyonline.com" 1;
"~baixar-musicas-gratis.com" 1;
"~iloveitaly.com" 1;
"~ilovevitaly.ru" 1;
"~fbdownloader.com" 1;
"~econom.co" 1;
"~buttons-for-website.com" 1;
"~buttons-for-your-website.com" 1;
"~srecorder.co" 1;
"~darodar.com" 1;
"~priceg.com" 1;
"~blackhatworth.com" 1;
"~adviceforum.info" 1;
"~hulfingtonpost.com" 1;
"~best-seo-solution.com" 1;
"~googlsucks.com" 1;
"~theguardlan.com" 1;
"~i-x.wiki" 1;
"~buy-cheap-online.info" 1;
"~Get-Free-Traffic-Now.com" 1;
}
在你的服务器将这个{}块:
if ($bad_referer) {
return 444; # emtpy response
}
它为我工作。
从http://fadeit.dk/blog/post/nginx-referer-spam-blacklist得知了这个
相关问题
- 1. 如何阻止垃圾邮件占
- 2. 如何阻止垃圾邮件IP iptables
- 3. 使用.htaccess阻止引用垃圾邮件
- 4. 如何阻止邮件发送垃圾邮件文件夹?
- 5. 无法阻止垃圾邮件的URL
- 6. 防止使用php邮件功能将垃圾邮件视为垃圾邮件
- 7. 如何禁止/阻止垃圾邮件的PHP脚本?
- 8. 使用电话号码防止垃圾邮件:如何防止移动应用上的垃圾邮件?
- 9. 如何使用VBS垃圾邮件
- 10. 使用GMail或其他ISP阻止电子邮件进入垃圾邮件
- 11. 如何在PHPBB3中阻止垃圾邮件?
- 12. 如何阻止Hibernate垃圾邮件日志
- 13. 如何阻止垃圾邮件机器人填写表单?
- 14. 如何阻止逃离&符号的垃圾邮件?
- 15. 如何阻止admob发送我的logcat垃圾邮件?
- 16. 如何阻止phpBB3中的垃圾邮件发送者?
- 17. 我应该如何阻止垃圾邮件机器人?
- 18. 如何阻止漫游器和垃圾邮件提交评论?
- 19. PHP投票系统,如何阻止垃圾邮件?
- 20. 如何防止垃圾邮件搜索
- 21. 如何防止卷发垃圾邮件
- 22. 如何防止垃圾邮件?
- 23. 阻止电子邮件进入垃圾邮件(Gmail,Hotmail等)POSTFIX
- 24. Django应用程序垃圾邮件阻止
- 25. 阻止iOS应用上的垃圾邮件发送者
- 26. 垃圾邮件与垃圾邮件
- 27. jQuery的 - 如何阻止垃圾邮件的用户事件处理程序
- 28. 防止电子邮件垃圾邮件?
- 29. 使用reCaptcha后防止电子邮件垃圾邮件
- 30. 如何阻止自己从我的gmail ID发送邮件的垃圾邮件?
使用〜*运算符阻止引用者只是一个正则表达式“love”将匹配“live-your-website”和像这样的引用者 – Garistar 2017-12-08 18:39:59