平常用的阿里云OSS,防盗链很简单,稍微设置一下refer就可以放置OSS里的资源被盗链,但是我们放在自己云服务器上的资源怎么防止盗链呢?今天云测速就来整理一下在nginx和apache环境下防盗链方法吧~
Apache环境设置防盗链
编辑网站的.htaccess文件(一般在网站根目录,没有的话去百度搜索生成一个),添加下面的代码:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^https://cloud-ping.com.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^https://cloud-ping.com$ [NC] RewriteCond %{HTTP_REFERER} !^https://www.cloud-ping.com.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^https://www.cloud-ping.com.com$ [NC] RewriteRule .*\.(gif|jpg|jpeg|png|bmp|swf|mp3|wav|zip|rar)$ https://www.cloud-ping.com/404.html [R,NC]
把代码中云测速的网址cloud-ping.com换成你自己网站地址即可。
Nginx环境设置防盗链
编辑网站配置文件,路径/usr/local/nginx/conf/vhost 添加下面的代码(末尾以.conf结尾的文件,例如cloud-ping.conf):
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|mp3|wav|zip|rar)$ { valid_referers none blocked cloud-ping.com *.cloud-ping.com; if ($invalid_referer) { return 403; } expires 30d; }
同样的把代码中云测速的网址cloud-ping.com换成你自己网站地址即可。
总结
这两串代码的作用是相同的,跟阿里云OSS的设置refer差不多,只允许设置好的refer能调用资源~快去试试吧