WordPress防盗链的方法

2011.09.6 No Comments 344 Views

最近在百度里面查博客页面的收录数的时候,发现博客里面的一些MP3资源被某些无良的QQ空间技术站盗链了。更蛋疼的是,盗链就算了,还他奶奶的公布链接地址,擦你妹儿的,有够恶心的!

因为我一直都把MP3、图片等资源存放在本地服务器的,为了防止被盗,百度了一圈,发现了一个利用cookie和.htaccess防盗链的方法,记录如下:

此方法利用Cookie,配合Apache的URL Rewrite模块很简单的就能实现防盗链下载。首先在浏览页面的时候,会向客户端发送一个特别的Cookie,例如“Site=silyn.org”。这样,如果一个盗链而来的请求将会因为没有特殊Cookie而被重定向到错误页面,就算实际地址暴露也不怕。至于这个Cookie的内容是什么以及有效时间完全可以由管理员自己来设定,也就是说下载工具也没法伪造,从而防止了服务器资源被盗链的危险。

具体方法如下:

在Wordpress的模板文件header的头部(html代码前面)添加:

1
<?php setcookie("Site", "silyn.org", time()+3600); ?>

其中的silyn.org是cookie名称,是可以任意自定义的。3600代表生效时间,也是可以自定义的。
修改好header文件,然后修改根目录的.htaccess文件。在文件中的前面添加以下代码:

1
2
RewriteCond %{HTTP_COOKIE} !^.*(?:Site=silyn.org).*$
RewriteRule ^.*$ 404.php

这里的Site=后面的内容要和header部分定义的缓存cookie名称一样。

Related Posts:
Leave a Reply
icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif