Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

利用.htaccess制作图片防盗链

  [复制链接]
koic 发表于 2008-8-27 18:19:15 | 显示全部楼层 |阅读模式
[size=1.1em]本教程非本人原创 但测试可用
[size=1.1em]先解释一下图片防盗链和转向:

Q 图片防盗链有什么用?
A 防止其它网站盗用你的图片,浪费你宝贵的流量。

Q 图片转向有什么用?
A 如果你的网站以图片为主,哪天发现月底没到流量就快用光了,那就可以利用图片转向,在不修改网页的前提下,把图片下载请求转向到其它空间(比如试用主机),临时过渡。


下面开始讲解,比如你的图片都在img目录下,那就在该目录下放一个名为 .htaccess 的文件,内容如下:

  1. RewriteEngine on

  2. RewriteCond %{HTTP_REFERER} !^$ [NC]
  3. RewriteCond %{HTTP_REFERER} !zhzz.org[NC]
  4. RewriteCond %{HTTP_REFERER} !bbs.zhzz.org[NC]
  5. RewriteCond %{HTTP_REFERER} !google.com [NC]
  6. RewriteCond %{HTTP_REFERER} !baidu.com [NC]
  7. RewriteCond %{HTTP_REFERER} !phpjia.net.cn[NC]

  8. RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]

  9. RewriteRule ^(.*)$ http:\/\/image.com.cn\/image\/$1 [L]
复制代码



[size=1.1em]大概解释一下
[size=1.1em]

  1. RewriteCond %{HTTP_REFERER} !^$ [NC]
  2. RewriteCond %{HTTP_REFERER} !www.zhzz.org[NC]
  3. RewriteCond %{HTTP_REFERER} !bbs.zhzz.org[NC]
  4. RewriteCond %{HTTP_REFERER} !google.com [NC]
  5. RewriteCond %{HTTP_REFERER} !baidu.com [NC]
  6. RewriteCond %{HTTP_REFERER} !phpjia.net.cn[NC]


复制代码


这部分是判断是否盗链,如果以上条件都成立(即访问图片的请求,既不是直接输入网址,也不是来自www.zhzz.org,也不是来自bbs.zhzz.org,也不是来自google.com,也不是来自baidu.com,也不是来自phpjia.net.cn的话),就执行下列转向:

  1. RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /image/replace.gif [R,NC,L]
复制代码


意思是让所有盗链 img 目录下 jpg、gif、png、bmp、swf、jpeg 文件的网页,显示的图片都用 image 目录下的 replace.gif 图片替换掉。注意替换显示的图片不要放在设置防盗链的 img 目录下。

如果照上面的规则判断出图片请求不是盗链的,就执行以下转向:

  1. RewriteRule ^(.*)$ http:\/\/image.om.cn\/image\/$1 [L]
复制代码


意思对 img 目录下所有的请求都转向到目标服务器,比如有个图片原来的 url 是 http://bbs.zhzz.org/img/girl.jpg ,现在就会转到 http://imagecom.cn/image/girl.jpg 去。当然了你得先把原服务器 img 目录下的文件统统拷贝到临时服务器的 image 目录下,转向才会真正可用。起到的效果就是把原服务器图片下载所占用的流量统统省下,让临时服务器来承受了。


评分

3

查看全部评分

prhlbdk 发表于 2008-8-27 18:36:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

ciwei5i0 发表于 2008-8-27 18:48:39 | 显示全部楼层
谢谢了。.............
回复

使用道具 举报

ciwei5i0 发表于 2008-8-27 18:49:21 | 显示全部楼层
谁试了。有用吗??
回复

使用道具 举报

aikato 发表于 2008-8-27 19:33:38 | 显示全部楼层
謝謝啦~ 明天再試:)
回复

使用道具 举报

xiaoqiangqiang 发表于 2008-8-28 14:41:41 | 显示全部楼层
不懂啊.横菜      
回复

使用道具 举报

lele1626 发表于 2008-9-3 18:42:03 | 显示全部楼层
(::40::) mark
谢谢
回复

使用道具 举报

zsououok 发表于 2008-9-4 01:40:37 | 显示全部楼层



测试一下。
回复

使用道具 举报

sfb410 发表于 2008-9-4 11:49:12 | 显示全部楼层


回复

使用道具 举报

sfb410 发表于 2008-9-4 11:49:47 | 显示全部楼层
测试可以啊。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-21 06:58 , Processed in 0.163913 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表