如何利用.htaccess防盗链网站图片

栏目: 编程语言 发布于: 2014-05-01 18:33:09

 防盗链网站图片顾名思义就是防止外部网站盗用我们网站的图片,它的作用就是防止其他人在其他的博客,空间网站里面贴上我们网站的图片从而导致访问者们没有进入我们的网站,但是还是耗费了我们网站空间的流量。这是不是非常的不爽?好了,下面我们就来看看如何利用.htaccess来防止别人盗链我们网站的图片吧!

利用.htaccess来防盗链图片其实很简单,只要你懂得.htaccess规则,也就一句话的事儿。下面我们来看一个完整的例子:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !phpernote.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !sogou.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo.cn [NC]
RewriteRule ^uploadfiles/(.*)\.(gif|jpg|png)$ http://www.phpernote.com/images/loading.gif [L]

下面对以上这段代码做一下详细的解释:

RewriteEngine On

url重写引擎开关,如果设为off,则任何重写规则定义将不被应用,该开关的另一好处就是如果为了临时拿掉重写规则,则改为off再重启动Apache即可,不必将下面一条条的重写规则注释掉。注意这条语句尽量写在文件的头一行。

RewriteBase /

这条语句的作用是如果在下面的rewriterule定义中被重写后的部分(此处为文件名index.html)。如果前面没有/,则是相对目录。一般直接设置为 / 意思就是根目录。


RewriteCond %{HTTP_REFERER} !^$ [NC]

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

RewriteCond %{HTTP_REFERER} !phpernote.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !sogou.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !yahoo.cn [NC]

这里设置的是允许访问的HTTP来源,这里包括我们自己的网站、google.com、baidu.com、sogou.com、soso.com、youdao.com、yahoo.cn。这也是为了让搜索引擎能正常的抓取我们的网站图片做考虑。

RewriteRule .*\.(gif|jpg|png|bmp)$ http://www.phpernote.com/change.gif [R,NC,L]

OK,这里就是设置防盗链的规则了。这里的设置是让所有盗链本网站的 jpg、gif、png、bmp 等图片文件的网页,一律显示以 http://www.phpernote.com/change.gif 这个文件替代显示。特别需要注意的是:替换显示的图片不要放在设置防盗链的目录中或者包含在设置了防盗链的目录中,并且该图片文件体积越小越好。当然你也可以不设置替换图片,使用如下这样的规则,盗链的网站的图片将显示一篇空白

RewriteRule .*\.(gif|jpg|png|bmp)$ – [F]

另外如果你不明白上面的规则后面的中括号里面的 NC F L 的字符含义的话,请参照本站:.htaccess 语法参数说明

好了,经过以上的设置,所有盗链你网站的图片文件的网站,都将会因为这种不友好的显示而放弃盗链了,这在一定程度上减少了你的空间服务器不必要的流量,是一件值得去做的事情。

 

您可能感兴趣的文章

  • .htaccess如何设置防盗链某个目录的图片
  • 利用.htaccess拒绝某ip访问网站
  • 使用Apache的htaccess防止图片被盗链
  • 利用.htaccess禁止列表目录
  • 10 段实用的 .htaccess 代码片段
  • 通过.htaccess设置网站默认首页
  • 如何通过.htaccess修改网站默认首页?
  • php利用curl实现多线程的类,php curl多线程下载图片
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。
转载请注明:文章转载自 [http://www.php230.com]
本文标题:如何利用.htaccess防盗链网站图片
IT技术书籍推荐:
数据库技术丛书·MySQL技术内幕:InnoDB存储引擎(第2版)
数据库技术丛书·MySQL技术内幕:InnoDB存储引擎(第2版)
姜承尧 (David Jiang) (作者)
《MySQL技术内幕:InnoDB存储引擎(第2版)》由国内资深MySQL专家亲自执笔,国内外多位数据库专家联袂推荐。作为国内唯一一本关于InnoDB的专著,《MySQL技术内幕:InnoDB存储引擎(第2版)》的第1版广受好评,第2版不仅针对最新的MySQL 5.6对相关内容进行了全面的补充,还根据广大读者的反馈意见对第1版中存在的不足进行了完善,《MySQL技术内幕:InnoDB存储引擎(第2版)》大约重写了50%的内容。《MySQL技术内幕:InnoDB存储引擎(第2版)》从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握InnoDB,更重要的是,它能为你设计管理高性能、高可用的数据库系统提供绝佳的指导。 《MySQL技术内幕:InnoDB存储引擎(第2版)》一共10章,首先宏观地介绍了MySQL的体系结构和各种常见的存储引擎以及它们之间的比较;接着以InnoDB的内部实现为切入点,逐一详细讲解了InnoDB存储引擎内部的各个功能模块的实现原理,包括InnoDB存储引擎的体系结构、内存中的数据结构、基于InnoDB存储引擎的表和页的物理存储、索引与算法、文件、锁、事务、备份与恢复,以及InnoDB的性能调优等重要的知识;最后对InnoDB存储引擎源代码的编译和调试做了介绍,对大家阅读和理解InnoDB的源代码有重要的指导意义。 《MySQL技术内幕:InnoDB存储引擎(第2版)》适合所有希望构建和管理高性能、高可用性的MySQL数据库系统的开发者和DBA阅读。
最新互联网资讯