IIS网站防盗链下载的解决方案[通俗易懂]

IIS网站防盗链下载的解决方案[通俗易懂]“盗链”的定义是:此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。  为什么会产生盗链  一般浏览有一个重要的现象就是一个完整的页面并不是一次全部传送到客户端

大家好,又见面了,我是你们的朋友全栈君。“盗链”的定义是:此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。

  为什么会产生盗链

  一般浏览有一个重要的现象就是一个完整的页面并不是一次全部传送到客户端的。如果请求的是一个带有许多图片和其它信息的页面,那么最先的一个Http请求被传送回来的是这个页面的文本,然后通过客户端的浏览器对这段文本的解释执行,发现其中还有图片,那么客户端的浏览器会再发送一条Http请求,当这个请求被处理后那么这个图片文件会被传送到客户端,然后浏览器回将图片安放到页面的正确位置,就这样一个完整的页面也许要经过发送多条Http请求才能够被完整的显示。基于这样的机制,就会产生一个问题,那就是盗链问题:就是一个网站中如果没有起页面中所说的信息,例如图片信息,那么它完全可以将这个图片的连接到别的网站。这样没有任何资源的网站利用了别的网站的资源来展示给浏览者,提高了自己的访问量,而大部分浏览者又不会很容易地发现,这样显然,对于那个被利用了资源的网站是不公平的。一些不良网站为了不增加成本而扩充自己站点内容,经常盗用其他网站的链接。一方面损害了原网站的合法利益,另一方面又加重了服务器的负担。

  我遇到的盗链

  我的网站遇到最多的是两类盗链,一是图片盗链,二是文件盗链。曾经有一个访问量极大的网站盗链我网站的图片,一天竟然消耗了数G的流量。同时,我站放的不少几十兆的大型软件也常遭到文件盗链,大量消耗我站资源。

  盗链的解决方案

  其实通过WEB服务器的URL过滤技术,这个伤脑筋的问题会很容易得到解决。 

  如果WEB服务器用的是APACHE的话,那么使用APACHE自带的Url Rewrite功能可以很轻松地防止各种盗链,其原理是检查REFER,如果REFER的信息来自其他网站则禁止访问所需要的资源。

  那么,IIS支持UrlRewrite吗?

  答案很简单,不支持。但是我们可以通过安装第三方服务器扩展让IIS支持。

  目前有一种产品能比较好地支持IIS的UrlRewrite,名字叫ISAPI_Rewrite

  下载地址在: http://www.helicontech.com/download/

  这里只有ISAPI Rewrite的一个LITE版本是免费的,其它都是trial版本。ISAPI Rewrite Lite的版本功能不支持虚拟站点配置,元数据监测和自动缓存清理。 但是基本的UrlRewrite功能都支持。

  如何进行UrlRewrite的设置?

  isapi_rewrite利用正则表达式进行替换规则的表示。

  下面是一个简单的例子,我想让我们的用户输入 http://localhost/test-12314.html 实际上访问的是 http://localhost/test.asp?id=12314 。那么我们的匹配表达式应该是 /test-([0-9]*).html 对应的格式化表达式应该为 /test.asp/?id=$1 。

  进行正则表达式的编写的时候,可以利用isapi_rewrite提供的正则表达式测试工具(默认安装提供),进行调试。做好了匹配表达式和格式化表达式,我们可以把它们放到安装目录下的httpd.ini里面。文件保存后,不需重新启动iis即可生效。

  对于我的网站,我防盗链的方法是在httpd.ini里面加入如下语句

RewriteCond Host: (.+)

RewriteCond Referer: (?!http:///1.*).*

RewriteRule .*/.(?:gif|jpg|png|exe|rar|zip) /block.gif [I,O]

  然后重启IIS,这时防盗链就开始起作用了,其他网站盗链过来的请求都会被拒绝。

  至此,我也终于可以摆脱了被盗链的烦恼了。 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • 常见的测试用例设计方法有哪些呢?「建议收藏」

    常见的测试用例设计方法有哪些呢?「建议收藏」知乎问题:常见的测试用例设计方法有哪些呢?有什么比较好的基础理论书籍推荐吗? [我的回答]2018年8月25日测试用例设计技术和方法,其目的是为了解决测试分析与设计过程中碰到的问题,纯粹的理论只是应用技术和方法的基础,但不是目的。测试用例分析与设计过程,需要我们不断的应用结构化思维、发散性思维和可视化思维,以构建系统化的测试分析与设计框架。 我将2011年写的《软件测试设计…

    2022年6月23日
    24
  • amp什么意思啊_登录 Login

    amp什么意思啊_登录 Login关于注册页面和登录页面的业务流程form表单中确定action提交地址method确定提交的方法》写出相对应的Servlet,假如接受的数据不多,那么用Stringusername=

    2022年8月6日
    5
  • tomcat7配置教程_Tomcat热部署

    tomcat7配置教程_Tomcat热部署1.Tomcat依赖于JDK,需要提前安装好JDK,参考另外一篇文章:JAVA安装部署2.到官网下载Tomcat7,解压到相关路径即可。Tomcat官网3.从Tomcat7之后的版本都不需要配置环境变量,在bin目录下,查看starup.bat:意思是如果bin目录下面存在catalina.bat文件,就可以访问tomcat页面了,代表安装成功了。PS:如果没…

    2025年6月13日
    2
  • 常见浏览器兼容性问题与解决方案

    常见浏览器兼容性问题与解决方案所谓的浏览器兼容性问题 是指因为不同的浏览器对同一段代码有不同的解析 造成页面显示效果不统一的情况 在大多数情况下 我们的需求是 无论用户用什么浏览器来查看我们的网站或者登陆我们的系统 都应该是统一的显示效果 所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题 在学习浏览器兼容性之前 我想把前端开发人员划分为两类 第一类是精确按照设计图开发的前端开发人员 可以说是精确到 1

    2025年8月24日
    3
  • pyharm激活码_通用破解码

    pyharm激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    51
  • asp实现用户注册登录代码(用Javaweb制作登录注册页面)

    最近在写asp课程设计,网站登录注册的功能怎么能少,捣鼓了两天终于弄出点东西来了。环境:Windows10+VS2015+自带LocalDB看一下效果:1、注册页面:如果用户重名:2、登录页:3、注册或者登录好了会跳到Home页面并且显示当前的用户下面看看关键代码:①注册前台页面Register….

    2022年4月15日
    86

发表回复

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

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