Apache的防盗链
在.htaccess文件加入如下代码
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www.it10000.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://it10000.tk$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.it10000.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.it10000.org$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|bmp|swf|mp3|wav|zip|rar)$ http://www.it10000.org/404.html [R,NC]
Nginx的防盗链
编辑相关.conf文件加入如下代码
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|mp3|wav|zip|rar)$
{
valid_referers none blocked it10000.tk *.it10000.tk;
if ($invalid_referer)
{
return 403;
}
expires 30d;
}注:将其中的 it10000.tk 改为你自己的域名。 Nginx修改后需要重启! 还有tengine也用如上方法哟
IIS防盗链
IIS的防盗链其实和apache差不多,让IIS支持UrlRewrite。
利用ISAPI_Rewrite,ISAPI Rewrite Lite的版本功能不支持虚拟站点配置,元数据监测和自动缓存清理。 但是基本的UrlRewrite功能都支持。
下面是一个简单的例子,我想让我们的用户输入 http://localhost/test-12314.html 实际上访问的是 http://localhost/test.asp?id=12314 。那么我们的匹配表达式应该是 /test-([0-9]*).html 对应的格式化表达式应该为 /test.asp\?id=$1 。
进行正则表达式的编写的时候,可以利用isapi_rewrite提供的正则表达式测试工具(默认安装提供),进行调试。做好了匹配表达式和格式化表达式,我们可以把它们放到安装目录下的httpd.ini里面。文件保存后,不需重新启动iis即可生效。
防盗链的方法是在httpd.ini里面加入如下语句
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]然后重启IIS,这时防盗链就开始起作用了,其他网站盗链过来的请求都会被拒绝。
LiteSpeed防盗链
Litespeed和apache一样都支持htaccess那我们就继续用htaccess
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://it10000.tk/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://it10000.tk$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.it10000.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.it10000.org$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.it10000.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.it10000.org$ [NC]
RewriteCond %{HTTP_REFERER} !^http://it10000.tk/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://it10000.tk$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp|css)$ – [F,NC]
提示:ewriteRule .*\.(jpg|jpeg|gif|png|bmp|css)$ – [F,NC]这句还可以改一下以显示自己想显示的错误信息。
未经允许不得转载:运维大虾 » Apache/Nginx/IIS/LiteSpeed防盗链