我将拿一张黄图来做实验。
主机为ip
:192.168.247.140
小偷ip为
:192.168.247.129
新建一个静态文件目录
# mkdir /usr/local/nginx/html/static
把黄图拉进去。
修改index.html
<img src="http://192.168.247.140/static/av.jpg">
在小偷虚拟机也修改成一样的代码。使其能够出现图片。
用浏览器访问ip
都访问到了。
修改主机配置文件
# vi nginx/conf/nginx.conf
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked 192.168.247.140;
if ($invalid_referer) {
return 404;
}
}
(gif|jpg|png|swf|flv)
:防盗的文件后缀为什么格式,"|"分隔。
valid_referers属性
none
:允许没有HTTP_REFERER的请求访问资源。当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的。
当直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含Referer的,所以允许为空。
blocked
:允许不是http://开头的,不带协议的请求访问资源
192.168.247.140
:主机地址。
if
是判断以上条件是否成立的。返回404。
分别访问主机ip与小偷ip。主机访问正常,小偷ip显示图片丢失。