15 12
发新话题
打印

[问题求助] 关于.htaccess防盗链的问题

关于.htaccess防盗链的问题

关于.htaccess防盗链的问题
今天在网上看到关于.htaccess防盗链的问题的文章,就自己试了下

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.xavierchong.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.xavierchong.com/$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://www.xavierchong.com/separator.gif [R,L]

不过刚才在论坛实验了下,是个X,不是跳转到指定图片

TOP

我也是刚刚给自己上传了一个这个文件,因为一直提示我的永久链接有问题,点文章的标题,竟然是打不开页面,不过具体的使用就不太明了。上传后一切就正常了
谁来说一下有没有更多的代码的含义。
我是二道,我只做美化的事情。
http://www.erdaoo.cn

TOP

需要注意的是,这张图片不能是已经禁止的文件格式,否则不会 被显示。

TOP

自己将自己给毙掉了,怎么显示得出来?

TOP

可以给保留个允许外链的 文件夹 吧 这个 防盗图片也放那个文件夹里 呵呵 ~~~

为了能够让一些 收录站点 正常显示 最好 放过那些站点  比如 百度 google 等等  

下面是我的文件 给大家 参考 ~~~
复制内容到剪贴板
代码:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/link
RewriteRule ^.*$ - [L]
RewriteCond %{REQUEST_FILENAME} \.(gif|jpeg|png|swf|flv|zip|rar|txt|exe)$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !kokia\.name [NC]
RewriteCond %{HTTP_REFERER} !google\.com [NC]
RewriteCond %{HTTP_REFERER} !baidu\.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky\.com [NC]
RewriteCond %{HTTP_REFERER} !365bloglink\.com [NC]
RewriteRule (.*) /link/kokia_name.gif [R,NC,L]
教程
.htaccess 设置:虽然理论上而言,在Apache中,可以针对每个目录分别设置 .htaccess ,通过权限的继承与覆盖可以实现相当复杂的功能。不过,过多的 .htaccess 往往会增加管理的难度,有时候百密难免有一疏,修改 .htaccess 稍有遗漏便可能造成网站出现问题。
默认情况下禁止其他网站盗链:对图片文件而言,当其他网站使用  盗链时自动重定向至类似右图所示的图片,声明版权及宣传您的网站。当然,从降低对服务器带宽占用的角度考虑,这个图片文件不能过大,您也可以简单地拒绝其访问,让其网页上图片位置以红“x”号代替。
允许特定访问来源:单纯针对图片文件来说,事实上也不可能禁止所有除您自身网站之外的其他访问,比如说Google,如果您希望通过Google图片搜索获得一定访问的话,必须让其能够正确读取真正的图片文件,再如应能够让RSS订阅用户看到feed中的图片,这就要求允许来自bloglines等的访问。
允许特定目录下的文件被外部网站使用:完全禁止外部网站有时会带来不便,很多时候,我们自己也可能需要在外部网站使用部分文件。当然,放入这些目录的文件要有一定限制,不然,便失去设置防盗链的意义了。
设置 .htaccess 禁止图片盗链
下面即为博客学堂禁止图片盗链的 .htaccess 设置部分:
复制内容到剪贴板
代码:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(allow1|allow2)
RewriteRule ^.*$ - [L]
首先,设置允许可“盗链”即外部网站可以使用的文件所处目录,上面我们设置了两个目录,分别为allow1与allow2,当然,如果您只有一个目录的话,可以将其改为:
复制内容到剪贴板
代码:
RewriteCond %{REQUEST_URI} ^/allow1
接下来判断是否为图片文件:
复制内容到剪贴板
代码:
RewriteCond %{REQUEST_FILENAME} \.(gif|jpeg|png)$ [NC]
您也可以根据自己的需要设置更多的文件类型。
复制内容到剪贴板
代码:
RewriteCond %{HTTP_REFERER} !^$
上面这一行意在允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。
复制内容到剪贴板
代码:
RewriteCond %{HTTP_REFERER} !blogsdiy\.org [NC]
RewriteCond %{HTTP_REFERER} !google\.com [NC]
RewriteCond %{HTTP_REFERER} !baidu\.com [NC]
RewriteCond %{HTTP_REFERER} !bloglines\.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner\.com [NC]
设置允许访问的HTTP来源,包括博客学堂自身、Google、Baidu、Bloglines、Feedburner等。
复制内容到剪贴板
代码:
RewriteRule (.*) /allow1/leech.gif [R,NC,L]
将不满足上述条件的访问重定向至leech.gif。您可能已经注意到,leech.gif位于允许“盗链”的目录allow1下,这一点很重要,不然,您的警告信息图片将无法在对方网站上显示。

如此,即实现了我们预先设定的防止图片盗链目标。

其他类型文件的防盗链设定
如果您的网站上存在其他类似体积较大较耗费带宽的文件如flash、mp3被其他网站盗链,可以同样采取上述策略,比如说,对Flash文件,可用类似如下的设置:
复制内容到剪贴板
代码:
RewriteCond %{REQUEST_URI} ^/allow1
RewriteRule ^.*$ - [L]RewriteBase /
RewriteCond %{REQUEST_FILENAME} \.swf$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !blogsdiy\.org [NC]
(……其他允许访问来源)
RewriteRule (.*) /allow1/leech.swf [R,NC,L]
当然,需要事先创建一个声明版权信息的flash文件“leech.swf”。其他诸如防止mp3文件、压缩文件(zip或rar)盗链的设置与此类似,不再赘述。

[ 本帖最后由 尘色记忆 于 2008-7-25 10:06 编辑 ]
¨塵色記憶﹎℡  本人的小小博客 (*^__^*) 嘻嘻……

TOP

LS能不能说说具体怎么用?

TOP

多谢个问大哥...终于好了
考虑了一下,原来的等于是死循环啊....

TOP

引用:
原帖由 ray1980 于 2008-7-25 09:56 发表
LS能不能说说具体怎么用?

RewriteCond %{REQUEST_URI} ^/link
这句大概意思是 link目录下的可以显示

RewriteCond %{REQUEST_FILENAME} \.(gif|jpeg|png|swf|flv|zip|rar|txt|exe)$ [NC]
这句是判断文件是否是gif|jpeg|png|swf|flv|zip|rar|txt|exe
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !kokia\.name [NC]
RewriteCond %{HTTP_REFERER} !google\.com [NC]
RewriteCond %{HTTP_REFERER} !baidu\.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky\.com [NC]
RewriteCond %{HTTP_REFERER} !365bloglink\.com [NC]
这句是判断图片是否是以上网站使用的

RewriteRule (.*) /link/kokia_name.gif [R,NC,L]
如果判断后是盗链,那就显示link/kokia_name.gif这个图片

TOP

详细可以参考这篇文章

《PHP技巧 修改httpd.conf防止图片文件被盗链下载》
http://kokia.name/2008/03/02/php ... dao-lian-xia-zai-2/
¨塵色記憶﹎℡  本人的小小博客 (*^__^*) 嘻嘻……

TOP

已经添加的教程了 查看  5楼详细~
¨塵色記憶﹎℡  本人的小小博客 (*^__^*) 嘻嘻……

TOP

 15 12
发新话题