前两天折腾完wordpress在linux系统apache环境下到防盗链,
今天突然想起来自己还有个windows主机上,所以也折腾一下windows主机iis7配置web.config防盗链吧。
第一招 网站根目录新建一个文件,命名为:web.config,输入以下代码:
<configuration> <system.webServer> <rewrite> <rules> <rule name="Prevent hotlinking"> <match url="^.*\.(jpg|bmp|rar|zip)$" ignoreCase="true" /> <conditions> <add input="{HTTP_REFERER}" pattern="https://itcat.cn/.*" negate="true" /> <add input="{HTTP_REFERER}" pattern="https://www.itcat.cn/.*" negate="true" /> </conditions> <action type="Rewrite" url="/404.htm" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
第二招 如果已经有web.config文件,则在
<configuration>
后面直接添加一下代码:
<system.webServer> <rewrite> <rules> <rule name="Prevent hotlinking"> <match url="^.*\.(jpg|bmp|rar|zip)$" ignoreCase="true" /> <conditions> <add input="{HTTP_REFERER}" pattern="https://itcat.cn/.*" negate="true" /> <add input="{HTTP_REFERER}" pattern="https://www.itcat.cn/.*" negate="true" /> </conditions> <action type="Rewrite" url="/404.htm" /> </rule> </rules> </rewrite> </system.webServer>
文件中设置了只允许https://itcat.cn、https://www.itcat.cn、(也就是你自己允许调用内容的网站)调用网站的jpg、bmp、rar、zip类型的文件,若来源并非以上三个网站则网页则跳转至404.htm页面。对于图片等其他文件同样适用,可以根据自己的需要进行修改添加所要防止盗链到文件格式。
不得不说下还有一种更好的代码,判断更优秀:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" /> </staticContent> <rewrite> <rules> <rule name="RequestBlockingRule1" enabled="true" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_REFERER}" pattern="^$" negate="true" /> <add input="{HTTP_REFERER}" matchType="Pattern" pattern="^http://(.*\.)?(itcat\.cn)/.*$" ignoreCase="true" negate="true" /> </conditions> <action type="CustomResponse" statusCode="404" /> </rule> <rule name="Readme" patternSyntax="ECMAScript" stopProcessing="true"> <match url="rm" /> <action type="Rewrite" url="readm2e.txt" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
上面的实例中只有用itcat.cn来访问这个网站的时候,资源才会正常显示。
底下那个规则是把url中有rm的都映射到readm2e.txt文件中输出。
谢谢赞赏
(微信扫一扫或长按识别)