apache lighttpd nginx多条件简单的图片防盗链设置
时间:2008-12-03 来源:szszszsz
前段时间对服务器上的图片文件进行防盗链设置,特做个笔记记录一下。apache和lighttpd,nginx三个webserver的设置都使用rewrite模块,因为需求是根据两个条件来判断进行设置的。更多个条件的应该也可以如例设置。
1.允许来自192.168的IP段
2.允许来自×.test.com域名
其它不符合以上两条件的都重定向
apache的设置:
RewriteEngine on
RewriteCond %{REMOTE_HOST} !^192\.168.*$ [NC]
RewriteCond %{HTTP_REFERER} !^ (.*\.test\.com/.*$) [NC]
RewriteRule .* http://www.test.com/ok.gif [R=301,L]
lighttpd的设置:
$HTTP["remoteip"] !~ "^192\.168.*$" {
$HTTP["referer"] !~ "(^.*\.test\.com/.*$)" {
url.redirect = ("(.*)" => "http://www.test.com/ok.gif")
}
}
nginx的设置:
location / {
if ($http_referer ~ "(^.*\.test\.com/.*$)" ) {
break;
}
if ($remote_addr !~ "^192\.168.*$") {
rewrite ^/ http://www.test.com/ok.gif;
}
}
1.允许来自192.168的IP段
2.允许来自×.test.com域名
其它不符合以上两条件的都重定向
apache的设置:
RewriteEngine on
RewriteCond %{REMOTE_HOST} !^192\.168.*$ [NC]
RewriteCond %{HTTP_REFERER} !^ (.*\.test\.com/.*$) [NC]
RewriteRule .* http://www.test.com/ok.gif [R=301,L]
lighttpd的设置:
$HTTP["remoteip"] !~ "^192\.168.*$" {
$HTTP["referer"] !~ "(^.*\.test\.com/.*$)" {
url.redirect = ("(.*)" => "http://www.test.com/ok.gif")
}
}
nginx的设置:
location / {
if ($http_referer ~ "(^.*\.test\.com/.*$)" ) {
break;
}
if ($remote_addr !~ "^192\.168.*$") {
rewrite ^/ http://www.test.com/ok.gif;
}
}
相关阅读 更多 +