应用htaccess给网站加上防盗链机制

以前在使用IIS服务器时,曾经使用过防盗链的工具,还算好用,现在转到Dreamhost之后,倒是很久没有用过防盗链了。

这几天Google了一下,最后看到A18制造的这个方法的确有效,目前本站就在使用。

具体的做法比较简单,就是在.htaccess文件中,添加下面这段代码。
然后自己做一张图片,放在网站根目录下,当其它网站盗用本站资源时,会用这张图片替换它所要求的文件,显示提示信息,请用户回到本网站获取更为准确的资讯。

如果你要使用这段代码,请自行修改有关的参数。
不要问我为什么这么写,我不懂,我只会用。
里面的网址都是允许外链的网站,如果要添加的话,请自行添加。

这里是一张测试图片。



如果你在feed reader阅读器中遇到无法显示图片的情况,请留言告诉我,你所使用的阅读器是哪个网站的,以方便我添加到允许外链的网站之中。

目前不允许外链的文件包括图片,压缩文件,和flash。
盗链不但是盗取内容还是盗取带宽,采取这个方法可以较好的处理这个问题。

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/outlink
RewriteRule ^.*$ - [L]
RewriteCond %{REQUEST_FILENAME} \.(gif|jpeg|png|swf|flv|zip|rar|txt|exe|7z)$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !g2soft\.net [NC]
RewriteCond %{HTTP_REFERER} !google\.com [NC]
RewriteCond %{HTTP_REFERER} !www\.baidu\.com [NC]
RewriteCond %{HTTP_REFERER} !image\.baidu\.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky\.com [NC]
RewriteCond %{HTTP_REFERER} !365bloglink\.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo\.com [NC]
RewriteCond %{HTTP_REFERER} !msn\.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines\.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner\.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo\.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia\.com [NC]
RewriteRule (.*) /outlink/outlink3.png [R,NC,L]

RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !g2soft.net [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !www.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !msn.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteRule .(jpg|gif|png|bmp|swf|jpeg)$ http://seo\.g2soft\.net/outlink/outlink3.png [R,NC,L]