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)
上一篇 2022年7月23日 下午4:00
下一篇 2022年7月23日 下午4:16


相关推荐

  • 值得推荐的五个源码网站[通俗易懂]

    值得推荐的五个源码网站[通俗易懂]CSDN下载-IT资源大本营CSDN下载是一个提供学习资源、源码、在线学习视频、IT电子书、各类免费软件等下载服务的IT资源大本营,致力于为软件开发者提供知识传播、资源共享、共同学习的优质学习资源平台·码云Gitee.com是OSCHINA.NET推出的代码托管平台,支持Git和SVN,提供免费的私有仓库托管。目前已有超过500万的开发者选择Gitee。·Github作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,G

    2022年7月20日
    26
  • 4个主要的map实现类介绍

    4个主要的map实现类介绍一、简单介绍map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。其中这四者的区别如下(简单介绍):HashMap:我们最常用的Map,HashMap的值是没有顺序的,他是按照key的HashCode来实现的,就是根据key的HashCode值来存储数据,根据key可以直接获取它的Value,同时它具有很快的访问…

    2022年5月30日
    36
  • python可以自动回收垃圾吗_python多线程实现

    python可以自动回收垃圾吗_python多线程实现前言现在的高级语言如java,c#等,都采用了垃圾回收机制,而不再像c,c++里,需要用户自己管理内存。自己管理内存及其自由,可以任意申请内存,但这如同一把双刃剑,可能会造成内存泄漏,空指针等bug

    2022年7月30日
    21
  • idea替换_idea替换字符串的快捷键

    idea替换_idea替换字符串的快捷键idea全局查找通过快捷键Ctrl+Shift+f快速进入全局查找页面,或者通过Edit—Find—ReplaceInPath

    2026年4月18日
    5
  • mac全选文字的快捷键_MACBOOK最全快捷键指南

    mac全选文字的快捷键_MACBOOK最全快捷键指南官方最新出炉的快捷键大全:剪切、拷贝、粘贴和其他常用快捷键Command-X:剪切所选项并拷贝到剪贴板。Command-C:将所选项拷贝到剪贴板。Command-V:将剪贴板的內容粘贴到当前文稿或应用中。Command-Z:撤销前一个命令。随后您可以按Command-Shift-z来重做,从而反向执行撤销命令。Command-A:全选各项。Command-F:查找文稿中的项目或打开“查找”窗口。…

    2022年5月26日
    350
  • xhr 的简单使用

    xhr 的简单使用Ajax Asynchronous 异步的 JavaScript 和 XML Ajax 不是新的编程语言 而是一种使用现有标准的新方法 它最大的优点是在不重新加载整个页面的情况下 可以与服务器交换数据并更新部分网页内容 并且不需要任何浏览器插件 但需要用户允许 JavaScript 在浏览器上执行 总的来说 就是 ajax 是数据请求方式的一

    2026年3月17日
    3

发表回复

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

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