大家好,又见面了,我是你们的朋友全栈君。
防盗链?
要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。一来可以追溯上一个入站地址是什么,二来对于资源文件,可以跟踪到包含显示他的网页地址是什么,因此所有防盗链方法都是基于这个Referer字段。
Nginx防盗链
location ~* .(gif|jpg|png|swf|flv|bmp)$ { valid_referers none blocked *.itwhy.org itwhy.org; if ($invalid_referer) { rewrite ^/ http://www.kuqin.com/nolink.gif; } }
Apache防盗链
Apache 防盗链需要加载mod_rewrite.so模块。
httpd.conf 或 .htaccess 文件里面加入如下语句
RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://itwhy.org/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://itwhy.org$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.kuqin.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.kuqin.com$ [NC] RewriteRule .*.(png|gif|jpg|swf|bmp|flv)$ http://www.kuqin.com/nolink.gif [R,NC]
IIS防盗链
IIS支持UrlRewrite吗?答案:不支持。但是我们可以通过安装第三方服务器扩展让IIS支持。目前有一种产品能比较好地支持IIS的UrlRewrite,名字叫ISAPI_Rewrite。
httpd.ini里面加入如下语句
RewriteCond Host: (.+) RewriteCond Referer: (?!http://1.*).* RewriteRule .*.(?:gif|jpg|png|swf|flv|bmp) /nolink.gif [I,O]
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163481.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...