NGINX 防采集:针对指定IP重写内容

2021-12-27 9:10:29 [大杂烩 - PC与手机]
网站内容防采集,一般是采用对IP地址禁止访问。但这种措施会很快被发现,采集者更换IP即可。

对于某些恶意采集、整站照搬的,可以不是一禁了之,而是照样提供随机的内容。

在NGINX所在网站的SERVER中,增加IP匹配的正则表达式,然后针对匹配的IP提供另外的内容。

代码如下(加在SERVER节中)

其中:

网页URL的正则表达式,如:^/news/* 表明对网站根目录下news栏目下的所有页面

IP列表,如:202.103.24.6861.183.61.68 多个IP间用分隔

提供随机内容URL,如: http://mysite.cn/get/?$uri 这个网址可以根据来源页面生成内容,其中加上$uri就是提供原本访问news中的网址,以便有针对 性的生成内容。最好与news的模板一样,方便采集者提取内容。



set $IpBlock 0;

 if ($request_uri ~* "网页URL的正则表达式") {
 set $IpBlock "${IpBlock}1";
 }
 if ($remote_addr ~* "IP列表") {
 set $IpBlock "${IpBlock}2";
 }

 location / {
 #2021-10-21
 if ($IpBlock = "012") {

  proxy_pass 提供随机内容URL?$uri;
 }

 proxy_pass  //www.zww.cn;
 include proxy.conf;
 }