»

通过Web.config文件设置禁止某些IP地址、蜘蛛访问网站或某文件

    WordPress  
防盗链访客WP Rocket插件windows主机浏览器网站优化wordpressCLBWp Super CacheIIS访问重定向建站前端web.config爬虫htaccess网站镜像网络安全工作缓存数据库身份认证CDN的问题

有时候一些 IP 的来访或某些蜘蛛对网站的爬取让人很恼火。我们有许多办法管理到访用户。例如,可以设置 robots.txt 文件管理守规矩的蜘蛛抓取网站内容;当然,我们可以有很多办法禁止不守规矩的蜘蛛、讨厌的用户访问网站或某个特定文件,对于 Apache 主机或其他主机,有很多配置方法。也可以通过 网站的 PHP 语言直接设置。而对于使用 Windows 主机的用户,可以通过服务商后台管理面板可添加 IP 黑名单,也可以使用 IIS 服务后台设置,虚拟主机用户更可以通过书写自己网站后台的 web.config 文件来设置。这篇文章讲的是通过 web.config 文件设置。

 

以下是代码:

  1. <rewrite>  
  2. <rules>  
  3. <rule name="Block Some Ip Adresses OR Bots" stopProcessing="true">  
  4. <match url="(.*)" />  
  5. <conditions logicalGrouping="MatchAny">  
  6. <add input="{HTTP_USER_AGENT}" pattern="蜘蛛名称" ignoreCase="true" /> <!-- 来禁止特定蜘蛛 -->  
  7. <add input="{HTTP_USER_AGENT}" pattern="^$" /> <!-- 禁止空 UA 访问 -->  
  8. <add input="{REMOTE_ADDR}" pattern="单独IP或使用正则表达的IP地址" />  
  9. </conditions>  
  10. <!--  你也可以使用<action type="AbortRequest" />来直接代替下面这段代码  -->  
  11. <action type="CustomResponse" statusCode="403" statusReason="Access is forbidden." statusDescription="Access is forbidden." />  
  12. </rule>  
  13. </rules>  
  14. </rewrite>  

 

可通过下面代码禁止浏览某文件

  1. <rule name="Block spider">  
  2.       <match url="(^robotssss.txt$)" ignoreCase="false" negate="true" /> <!-- 禁止浏览某文件 -->  
  3.       <action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />  
  4. </rule>  

 

时光在路上(www.timezls.com)提醒大家,上面的禁止规则需要写在所有规则的最上面。

 

蜘蛛名称可以使用正则表达

 例如:
  1. <add input="{HTTP_USER_AGENT}" pattern="Adminrtspider|Ezooms|MJ12bot" ignoreCase="true" />   

蜘蛛信息,可以看我以前的一篇文章《禁止一些恼人的无用蜘蛛抓取网站信息》

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

 

IP 地址可以使用正则表达

对于 IP 地址段的正则表达书写,可以参考下面两个例子。关于IP的正则表达式,有很多种写法,看个人爱好了。

例 1:IP 地址段为 127.0.0.0 - 127.0.0.255

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

127\.0\.0\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5])

 

例 2:IP 地址段为 127.0.0.1 - 127.0.255.255

127\.0\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5])\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-5][0-5])

注意:对于使用了 CDN 加速的网站,你不能直接使用 {REMOTE_ADDR} 来屏蔽IP地址,需要用  {HTTP_X_FORWARDED_FOR} ,参考此处的文章:https://www.timezls.com/2020/09/cdn-real-ip.html

 

其他一些参考文章

 

本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2023. All Rights Reserved

代码已上到百度云盘:链接: pan.baidu.com/share/init?surl=miLXzvE   密码: 2bjb

本文禁止抄袭。

本文禁止无授权转载 - 时光在路上 www.timezls.com 保留所有权利

时光在路上扫码阅读、分享
  • 版权声明:该文章由 时光在路上 发表,共 1839字。除非特别标注来源,否则为原创。详见《版权声明》部分。
  • 转载请注明:文章标题和文章链接 - 时光在路上 - 也可直接“复制本文链接” 或 使用右边二维码分享本文 →