Apache、Nginx、IIS防盗链方法「建议收藏」

Apache、Nginx、IIS防盗链方法「建议收藏」防盗链?要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。一来可以追溯上一个入站地址是什么,二来对于资源文件,可以跟踪到包含显示他

大家好,又见面了,我是你们的朋友全栈君。 

防盗链?

要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从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]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163481.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号