使用.htaccess防止盗链

什么是盗链

文件在B服务器上,不在A服务器上,但是A服务器通过技术手段使用了B服务器的文件(文件通常是图片,swf,mp3,pdf,rar等)。

盗链产生的原因

  • 盗链者通过盗链可以减少服务器的硬盘空间与宽带流量,但却提供了盗链者网站本身没有的服务,比如mp3在线播放,flash动画,图片下载等(利益驱动,主动的)
  • 用户使用CMS系统或BBS拷贝其它网站的文章时,通常连同图片等资源一同拷贝,但这些资源通常是使用了绝对路径的方式拷贝(工具限制,被动的)

盗链的危害

  • 被盗链的网站访问速度缓慢甚至经常当机,很多网站因此关闭。
  • 所有网站都盗链,最后没有原创网站了,互联网消失!

使用.htaccess防止盗链

这是一种非常简单的方法,效果也很好,但是只能使用在apache搭建的网站服务器下。

1,在网站根目录下建立.htaccess文件(如果没有)

2,输入下面代码,并保存

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?dreamdu.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?dreamdu2.com [NC]
RewriteRule \.(jpg|png|gif|swf|mp3|pdf)$ http://www.google.cn/intl/zh-CN/images/logo_cn.gif [NC,R,L]

3,上传到服务器

.htaccess防盗链代码说明

RewriteEngine on

代表开启Apache的重写引擎

RewriteCond %{HTTP_REFERER} !^$

禁止所有网站链接

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?dreamdu.com [NC]

允许梦之都链接

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?dreamdu2.com [NC]

允许梦之都二号站链接(通过这个方式可以添加多个允许的网站)

RewriteRule \.(jpg|png|gif)$ http://www.google.cn/intl/zh-CN/images/logo_cn.gif [NC,R,L]

当盗链网站使用被盗链网站文件名后缀为jpg、png、gif的文件时,将显示 http://www.google.cn/intl/zh-CN/images/logo_cn.gif 图片(这个图片可以设计成为版权图片,并打印上自己的网址)

你可能遇到的问题

  • 浏览器会缓存图片,因此你测试的时候应清空缓存。
  • 不要使用自己网站上的图片作为显示盗链的信息图片,比如梦之都使用了梦之都网站的图片做为显示盗链的图片,将形成死循环。

引用

梦之都由于图片不多因此没有防止图片盗链,而且我的blog的图片都是放到了flickr,这样可以减少很多流量,flickr是允许这种方式的,只要你图片链接到他们的网站。

您可能感兴趣的内容

作者: 可爱的猴子
原载: 可爱的猴子 的blog
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

发表评论