如何利用.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技术书籍推荐:
GitHub入门与实践
GitHub入门与实践
大塚弘记 (作者), 支鹏浩 (译者), 刘斌 (译者)
《GitHub入门与实践》从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中。在讲解GitHub的代表功能Pull Request时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行Pull Request并共同维护。 《GitHub入门与实践》旨在指导各位读者如何在开发现场使用GitHub进行高效开发,适合所有想要使用GitHub进行开发的程序员或团队阅读。
最新互联网资讯