婚恋系统源码配置Nginx文件,防止资源占用

发布来源:云豹科技
发布人:云豹科技
2022-05-04 10:06:52

在搭建婚恋系统源码的过程中,我们经常可以看到Nginx的身影,Nginx的作用有很多,正向代理、反向代理、负载均衡等都是比较常见的功能,我们还可以通过配置Nginx,防止恶意爬虫。

如果婚恋系统源码的网站信息被恶意爬取,服务器资源就会被占用,从而影响用户正常请求响应,接下来我们能就介绍一下如何进行Nginx配置。

一、Nginx配置文件处理

1、进入到Nginx 安装目录下的conf 目录,创建 agent_deny.conf


cd /usr/local/Nginx/conf
vim agent_deny.conf


图片1.png


具体内容如下:


}
#禁止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;如图:


图片2.png


3、重启生效

通过指令重启Nginx,让配置的文件生效,指令如下:


systemctl restart Nginx


二、php入口文件配置


图片3.png


具体内容如下:


//获取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

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任