如何利用.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技术书籍推荐:
JavaScript高级程序设计(第3版)
JavaScript高级程序设计(第3版)
泽卡斯 (Zakas. Nicholas C.) (作者), 李松峰 (译者), 曹力 (译者)
《JavaScript高级程序设计(第3版)》是JavaScript超级畅销书的最新版。ECMAScript 5和HTML5在标准之争中双双胜出,使大量专有实现和客户端扩展正式进入规范,同时也为JavaScript增添了很多适应未来发展的新特性。《JavaScript高级程序设计(第3版)》这一版除增加5章全新内容外,其他章节也有较大幅度的增补和修订,新内容篇幅约占三分之一。全书从JavaScript语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深入浅出地探讨了面向对象编程、Ajax与Comet服务器端通信,HTML5表单、媒体、Canvas(包括WebGL)及Web Workers、地理定位、跨文档传递消息、客户端存储(包括IndexedDB)等新API,还介绍了离线应用和与维护、性能、部署相关的最佳开发实践。《JavaScript高级程序设计(第3版)》附录展望了未来的API和ECMAScript Harmony规范。
最新互联网资讯