防盗链技巧—.htaccess设置

.htaccess 设置:虽然理论上而言,在Apache中,可以针对每个目录分别设置 .htaccess ,通过权限的继承与覆盖可以实现相当复杂的功能。不过,过多的 .htaccess 往往会增加管理的难度,有时候百密难免有一疏,修改 .htaccess 稍有遗漏便可能造成网站出现问题。

默认情况下禁止其他网站盗链:对图片文件而言,当其他网站使用图片文件盗链时自动重定向至设置的防盗链告示图片,声明版权及宣传您的网站。当然,从降低对服务器带宽占用的角度考虑,这个图片文件不能过大,您也可以简单地拒绝其访问,让其网页上图片位置以红“x”号代替。

允许特定访问来源:单纯针对图片文件来说,事实上也不可能禁止所有除您自身网站之外的其他访问,比如说Google,如果您希望通过Google图片搜索获得一定访问的话,必须让其能够正确读取真正的图片文件,再如应能够让RSS订阅用户看到feed中的图片,这就要求允许来自bloglines等的访问。

允许特定目录下的文件被外部网站使用:完全禁止外部网站有时会带来不便,很多时候,我们自己也可能需要在外部网站使用部分文件。当然,放入这些目录的文件要有一定限制,不然,便失去设置防盗链的意义了。

设置 .htaccess 禁止图片盗链
下面即为本站教学禁止图片盗链的 .htaccess 设置部分:

1
2
3
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(qyorg1|qyorg2)
RewriteRule ^.*$ - [L]

首先,设置允许可“盗链”即外部网站可以使用的文件所处目录,上面我们设置了两个目录,分别为qyorg1与qyorg2,当然,如果您只有一个目录的话,可以将其改为:

1
RewriteCond %{REQUEST_URI} ^/qyorg1

接下来判断是否为图片文件:

1
RewriteCond %{REQUEST_FILENAME} .(gif|jpeg|png)$ [NC]

您也可以根据自己的需要设置更多的文件类型。

1
RewriteCond %{HTTP_REFERER} !^$

上面这一行意在允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。

1
2
3
4
5
RewriteCond %{HTTP_REFERER} !qyorg.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]

设置允许访问的HTTP来源,包括博客学堂自身、Google、Baidu、Bloglines、Feedburner等。

1
RewriteRule (.*) /qyorg1/qyorg_name.gif [R,NC,L]

将不满足上述条件的访问重定向至qyorg_name.gif。您可能已经注意到,qyorg_name.gif位于允许“盗链”的目录qyorg1下,这一点很重要,不然,您的警告信息图片将无法在对方网站上显示。

如此,即实现了我们预先设定的防止图片盗链目标。

其他类型文件的防盗链设定
如果您的网站上存在其他类似体积较大较耗费带宽的文件如flash、mp3被其他网站盗链,可以同样采取上述策略,比如说,对Flash文件,可用类似如下的设置:

1
2
3
4
5
RewriteCond %{REQUEST_URI} ^/qyorg1
RewriteRule ^.*$ - [L]RewriteBase /
RewriteCond %{REQUEST_FILENAME} .swf$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !qyorg.com [NC]

(……其他允许访问来源)

1
RewriteRule (.*) /qyorg1/qyorg_name.swf [R,NC,L]

当然,需要事先创建一个声明版权信息的flash文件“qyorg_name.swf”。其他诸如防止mp3文件、压缩文件(zip或rar)盗链的设置与此类似,不再赘述。

使用方法:将上述代码保存为.htaccess 上传到博客根目录。 .htaccess 可能无法直接上传和在WIN系统建立 所以你可以先建立一个普通的TXT文本文件 上传到 FTP空间之后利用FTP 重命名为.htaccess 即可。

*.htaccess 为 linux系统 Apache环境下特有的 因此 一些所谓的全能空间 WIN系统是无法使用本篇介绍的防盗链内容。很遗憾。不过您可以寻找其他基于IIS下的防盗链方式。


[情缘工作室]原创文章,转载请注明来源并保留原文链接

本文链接:http://www.qyorg.com/jsjl/1460.html


Popularity: 100% [?]

分享这个帖子:
Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Delicious BlinkList Furl

没有评论 to “防盗链技巧—.htaccess设置”

留下评论:

昵称(必须):
邮箱地址 (不会被公开) (必须):
站点
评论 (必须)
XHTML: 您可以使用这些标记: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>