前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache、Nginx、IIS防盗链方法「建议收藏」

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

作者头像
全栈程序员站长
发布2022-09-15 15:16:22
4860
发布2022-09-15 15:16:22
举报
文章被收录于专栏:全栈程序员必看

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

防盗链?

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

Nginx防盗链
代码语言:javascript
复制
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 文件里面加入如下语句

代码语言:javascript
复制
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里面加入如下语句

代码语言:javascript
复制
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://1.*).*
RewriteRule .*.(?:gif|jpg|png|swf|flv|bmp) /nolink.gif [I,O]

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 防盗链?
    • Nginx防盗链
      • Apache防盗链
        • IIS防盗链
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档