婚恋系统源码配置Nginx文件,防止资源占用
在搭建婚恋系统源码的过程中,我们经常可以看到Nginx的身影,Nginx的作用有很多,正向代理、反向代理、负载均衡等都是比较常见的功能,我们还可以通过配置Nginx,防止恶意爬虫。
如果婚恋系统源码的网站信息被恶意爬取,服务器资源就会被占用,从而影响用户正常请求响应,接下来我们能就介绍一下如何进行Nginx配置。
一、Nginx配置文件处理
1、进入到Nginx 安装目录下的conf 目录,创建 agent_deny.conf
cd /usr/local/Nginx/conf vim agent_deny.conf
具体内容如下:
} #禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } #禁止指定UA及UA为空的访问 if ($http_user_agent ~ "FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReportsBot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) { return 403; } #禁止非GET|HEAD|POST方式的抓取 if ($request_method !~ ^(GET|HEAD|POST)$) { return 403; }
2、配置文件中引入Include agent_deny.conf;如图:
3、重启生效
通过指令重启Nginx,让配置的文件生效,指令如下:
systemctl restart Nginx
二、php入口文件配置
具体内容如下:
//获取UA信息 $ua = $_SERVER['HTTP_USER_AGENT']; //将恶意USER_AGENT存入数组 $now_ua = array('FeedDemon ','BOT/0.1 (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy Library','oBot','jaunty','YandexBot','AhrefsBot','MJ12bot','WinHttp','EasouSpider','HttpClient','MicrosoftURLControl','YYSpider','jaunty','Python-urllib','lightDeckReports Bot'); //禁止空USER_AGENT,dedecms等主流采集程序都是空USER_AGENT,部分sql注入工具也是空USER_AGENT if(!$ua) { header("Content-type: text/html; charset=utf-8"); die('请勿采集本站'); }else{ foreach($now_ua as $value ) //判断是否是数组中存在的UA if(eregi($value,$ua)) { header("Content-type: text/html; charset=utf-8"); die('请勿采集本站!'); } }
三、模拟抓取测试
输入curl -I -A 'YisouSpider' http://test.com
结果返回403,说明配置生效。
到此,婚恋系统源码就完成了Nginx的配置,有效防止爬虫。对婚恋系统感兴趣的朋友,可以持续关注我们发布的内容。
声明:以上内容为云豹科技原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com