你是否有个这样的困惑,我设置了防盗链,可是别人不用来路抓取,别人直接访问图片抓取,这样怎么办?
以下就是彻底的对图片禁止直接访问与防盗链的方法:
以下以Apache服务器的配置代码为例,如果是ng或者iis直接转换代码就可以。
经过很长一段测试,笔者发现,要先将拒绝直接访问放在防盗链的前面,否则会无效。
那如何拒绝直接访问图片呢?
一开始笔者是习惯用跳转禁止:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?aixiagame [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?aixiagame.*$ [NC]
RewriteRule \.(gif|png|jpg|bmp|jpeg|ico)$
https://weibo.com/u/7430037395?topnav=1&wvr=6&topsug=1&is_all=1 [R=302,L]
很快发现无法实现,依然能直接访问图片地址,之后不用跳转,直接拒绝访问就成功了。
浏览器直接访问测试
最后,被拒绝访问。
图片防盗链就不多说了,这个许多教程一查就会。
以下是完整代码(禁止直接访问图片与图片防盗链):
注意:禁止URL直接访问图片必需要放在前面,否则失效
<IfModule mod_rewrite.c>
## 设置禁止URL直接访问图片与文件
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?aixiagame [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?aixiagame.*$ [NC]
RewriteRule \.(gif|png|jpg|bmp|jpeg|ico)$ - [F]
</IfModule>
<IfModule mod_rewrite.c>
## 设置图片防盗链
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !aixiagame.com [NC]
RewriteCond %{HTTP_REFERER} !aixiagame.co [NC]
RewriteCond %{HTTP_REFERER} !aixiagame.cc [NC]
RewriteCond %{HTTP_REFERER} !aixiagame.xyz [NC]
RewriteCond %{HTTP_REFERER} !aixgame.top [NC]
RewriteCond %{HTTP_REFERER} !www.aixgame.top [NC]
RewriteCond %{HTTP_REFERER} !www.aixiagame.xyz [NC]
RewriteCond %{HTTP_REFERER} !www.aixiagame.com [NC]
RewriteCond %{HTTP_REFERER} !www.aixiagame.co [NC]
RewriteCond %{HTTP_REFERER} !www.aixiagame.cc [NC]
RewriteCond %{HTTP_REFERER} !www.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !www.baidu.cn [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.cn [NC]
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !www.google.com [NC]
RewriteCond %{HTTP_REFERER} !www.google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !www.google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com.tw [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !www.163.com [NC]
RewriteCond %{HTTP_REFERER} !www.yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !www.sogou.com [NC]
RewriteCond %{HTTP_REFERER} !pic.sogou.com [NC]
RewriteCond %{HTTP_REFERER} !www.soso.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !www.so.com [NC]
RewriteCond %{HTTP_REFERER} !so.com [NC]
RewriteCond %{HTTP_REFERER} !image.so.com [NC]
RewriteCond %{HTTP_REFERER} !www.sina.com.cn [NC]
RewriteCond %{HTTP_REFERER} !www.msn.com [NC]
RewriteCond %{HTTP_REFERER} !www.msn.cn [NC]
RewriteCond %{HTTP_REFERER} !mail.qq.com [NC]
RewriteCond %{HTTP_REFERER} !cn.bing.com [NC]
RewriteRule .(gif|png|jpg|bmp|jpeg)$ htt【防解析去掉中括号】ps://ae01.alicdn.com/kf/Hccb78b73f68644f386f6126f525ac8b5K.jpg [R=302,L,NC]
</IfModule>
如果有什么新方法、好方法,欢迎大家留言,给予遇到的人帮助,先就这样吧,祝大家大吉大利、万事顺心。