单机LNMP环境目录权限严格控制
为了保证网站不受木马入侵,所有站点目录的用户和组都应该设置为root,所有目录的权限是755,所有文件的权限是644
Nginx 防爬虫优化
Robots协议
(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
查看淘宝的防爬虫优化
#curl http://www.taobao.com/robots.txt
User-agent: Baiduspider
Allow: /article
Allow: /oshtml
Disallow: /product/
Disallow: /
User-Agent: Googlebot
Allow: /article
Allow: /oshtml
Allow: /product
Allow: /spu
Allow: /dianpu
Allow: /oversea
Allow: /list
Disallow: /
User-agent: Bingbot
Allow: /article
Allow: /oshtml
Allow: /product
Allow: /spu
Allow: /dianpu
Allow: /oversea
Allow: /list
Disallow: /
User-Agent: 360Spider
Allow: /article
Allow: /oshtml
Disallow: /
User-Agent: Yisouspider
Allow: /article
Allow: /oshtml
Disallow: /
User-Agent: Sogouspider
Allow: /article
Allow: /oshtml
Allow: /product
Disallow: /
nginx防爬虫优化设置
我们可以通过客户端的user-agent信息,轻松的阻止指定的爬虫爬取我们的网站
示例1:阻止下载协议代理:
if ($http_user_agent ~* LWP::Simple|BBBike|Wget) {
return 403;
}
如果用户匹配了if后面的客户端就进行返回403
示例2:通过$http_user_agent 获取客户端agent然后判断是否进行返回错误值
if ($http_user_agent ~* “qihoobot|baiduspider|Googlebot-Mobile|Googlebot=Image|Adsbot-Google|sougou spider|Sogou web spider”) {
return 403;
}
示例3:测试禁止不同的浏览器软件访问
if ( $http_user_agent ~* "Firefox|MSIE"){
rewirte ^(.*) http://blog.etiantian.com/$1 permanent;
}
如果浏览器为Firefox或者IE,就会永久跳转到 http://blog.etiantian.com
利用nginx限制http的请求方法
http常见的请求为GET和POST请求,我们可以通过nginx进行限制http的请求,来提升服务安全性
方法如下:
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 501;
}
2,也可以在上传服务器中限制HTTP的GET请求进行保护文件
if ($request_method ~* ^(GET)$ ) {
return 501;
}
还可以加一层location,更具体到限制文件名