vim /usr/local/nginx/conf/nginx.conf
http {
......
server {
......
location ~*\.(jpg|gif|swf)$ {
valid_referers *.lic.com lic.com;
if ( $invalid_referer ) {
rewrite ^/ http://www.lic.com/error.png;
#return 403;
}
}
......
}
}
~* .(jpg|gif|jepg|bmp|ico)$ :这段正则表达式表示匹配不区分大小写,以.jpg 或.gif 或.swf 结尾的文件;
valid_referers :设置信任的网站,可以正常使用图片;
后面的网址或者域名 :referer 中包含相关字符串的网址;
if语句:如果链接的来源域名不在valid_referers所列出的列表中,$invalid_referer为1,则执行后面的操作,即进行重写或返回 403 页面。
网页准备:
Web源主机(192.168.184.20)
cd /usr/local/nginx/html
将kiki.jpg、error.png文件传到/usr/local/nginx/html目录下
vim index.html
......
<img src="kiki.jpg"/>
</body>
</html>
echo "192.168.184.20 www.lic.com" >> /etc/hosts
echo "192.168.184.30 www.daodao.com" >> /etc/hosts
盗链网站主机(192.168.184.30)
cd /usr/local/nginx/html
vim index.html
......
<img src="http://www.lic.com/kiki.jpg"/>
</body>
</html>
echo "192.168.184.20 www.lic.com" >> /etc/hosts
echo "192.168.184.30 www.daodao.com" >> /etc/hosts
在盗图网站主机上进行浏览器验证
http://www.daodao.com