LNMP图片防盗链的简单方法

昨天在QQ群看到有朋友询问LNMP的环境如何防盗链,关于这个,问题,其实军哥在论坛已经做了解答,这边我就借过来分享,同时也算做一个笔记。

由于nginx不支持.htaccess,所以,从这个方面直接去防止是行不通的,我们要通过修改配置文件来解决。

首先,我们找到需要防盗链的域名的conf文件,路径:/usr/local/nginx/conf/vhost/,比如zrblog.net.conf

还是先备份下,免得搞错了还能直接覆盖回去,这是好习惯!!!

找到下面的部分:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}

将它修改为:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers none blocked www.zrblog.net zrblog.net;
if ($invalid_referer) {
rewrite ^/ http://vpsaa.com/404.jpg;
#return 404;
}
expires 30d;
}

上面的内容,大家请根据个人的情况酌情修改,我这里做基本的解释。

第一行gif|jpg|jpeg|png……这些是您需要防止盗链的文件类型,您可以补充一些后缀类型;

第三行是你的网站的域名,就是说放行的域名,如果有多个,请添加,注意空格;

第五行是给盗链看到的图片,返回一个404.jpg,这个图片源地址是要可以外链的哦,不然,别人看到的也就一个XX。

完成之后保存,上传到原位置覆盖,之后重启下lnmp使之生效。

/root/lnmp restart

另外,有朋友问到如何防采集,这个问题目前貌似没有特别有效的方法,建议大家可以从系统层面去研究,比如iptables规则的限制等。


【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】RackNerd 推出的 KVM VPS 特价优惠,在纽约、西雅图、圣何塞和阿什本每年仅需 12.88 美元!