GoDaddy Win主机与linux主机仿盗链设置方法

最近使用了一个godaddy主机来储存网站文件,于是碰到需要设置仿盗链,这里记录下。

Win主机设置方法

在网站根目录下建立web.config文件,添加如下代码(把全角引号替换成半角):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Prevent hotlinking">
<match url="^.*.(jpg|bmp|rar|zip|pdf)$" ignoreCase="true" />
<conditions>
<add input="{HTTP_REFERER}" pattern="http://pianpai.com/.*" negate="true" />
</conditions>
<action type="Rewrite" url="/404.htm" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

文件设置了只允许域名ifans.im调用服务器空间中的jpg、bmp、rar、zip、pdf文件,其它域名盗链则会转到404.htm页面。
如果已经存在web.config文件,则只需要把标签中的内容加入到原文件的标签内。
来源:帮藏

Linux主机设置方法

1
2
3
4
5
6
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !zhutoo.com [NC]
RewriteCond %{HTTP_REFERER} !80ing.net [NC]
RewriteRule .(png|jpg|gif)$ http://image161.poco.cn/mypoco/myphoto/
20100502/20/2707290320100502204140039.gif [R,NC,L]

解释一下:
1、RewriteCond %{HTTP_REFERER} !^$ [NC]
允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。
2、 RewriteCond %{HTTP_REFERER} !zhutoo.com [NC]
RewriteCond %{HTTP_REFERER} !80ing.net [NC]
设置允许访问的HTTP来源,包括我们的自身站点(zhutoo.com、80ing.net) Google、Baidu、Bloglines、Feedburner、feedsky等。当然你还可以设定其他网站允许使用你的图片。
3、 重点说一下最后一句:
一般情况下,定义被盗链时替代的图片,让所有盗链 jpg、png 、gif 等图片的网页,显示根目录下的 xxx.xgif 文件(代码是:RewriteRule .(jpg|png)$ /xxx.xgif [R,NC,L]),注意:这里必须有一个“/”,而且xxx.xgif件体积越小越好,越小就越节省流量,为什么图片文件是.xgif?以为前面我们已经禁用了.gif,不改名字盗链我们图片的网站就无法显示我们的警告图片。(这个方法我没成功,似乎这个方法会让浏览器陷入死循环,于是我用下面的方法)
我的写法跟这个不同,我用的是其它服务器上(未设置过防盗链)的图片来替换演示。这样的好处是完全不用自己网站的流量,而又可以达到警告和宣传的目的。完美!
来源:煮透社

Leave a Reply

You must be logged in to post a comment.

RSS feed for comments on this post. TrackBack URL