HTTP Referer是Header的一部分,当浏览器向Web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理。
server { listen 80; server_name localhost; access_log logs/access.log main; location ~ .*\.(jpg|gif|png)$ { valid_referers none blocked www.javacui.com; if ($invalid_referer) { return 403; } root html/image; } location /image { valid_referers none blocked www.javacui.com; if ($invalid_referer) { return 403; } root html; } }
如上第一个是针对资源进行控制,第二个是针对目录进行配置。
none代表Header中Referer可以无值,比如URL直接访问图片
blocked代表Header中Referer不为空但是该值被防火墙或者代理伪装过,如不带http://或https://等协议
server_names代表具体的域名或者IP,可以多个
注意:HTTP Referer头信息是可以通过程序来伪装生成的,所以通过Referer信息防盗链并非100%可靠,但是,它能够限制大部分的盗链。
推荐您阅读更多有关于“ Referer nginx valid_referers 盗链 防盗链 ”的文章
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。
发表评论: