巧用ISAPI_Rewrite规则写IIS防盗链(转)

巧用ISAPI_Rewrite规则写IIS防盗链(转)因为网站的关系,不得不把服务器加上防盗链,以前在Apache上的时候很省力,Apache的规则直接可以Referer就可以防盗链,现在当然我是在X86的IIS6.0上,上面那一套没用了,早听闻ISAPI_Rewrite的名气,但无奈是收费的,这些额外开支能省就省吧~我可不是大户囧,而我又是很懒的,不愿意花太多时间改ASP的生成HTML的模块上,本来程序就已经被我这改改那改改的了。结合上面情况,最后…

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

因为网站的关系,不得不把服务器加上防盗链,以前在Apache上的时候很省力,Apache的规则直接可以Referer就可以防盗链,现在当然我是在X86的IIS6.0上,上面那一套没用了,早听闻ISAPI_Rewrite的名气,但无奈是收费的,这些额外开支能省就省吧~我可不是大户囧,而我又是很懒的,不愿意花太多时间改ASP的生成HTML的模块上,本来程序就已经被我这改改那改改的了。结合上面情况,最后还是选择了伪htm,url重写技术。下面是一些我自己服务器上写的规则,应该能满足常用的了。看了英文的ISAPI_Rewrite,觉得还是很有用的,中文的就算了。搜索ISAPI_Rewrite规则,第一页所有的文章都一样orz…

 

[ISAPI_Rewrite]
#伪Html部份
RewriteRule /article_([0-9,a-z]*).html /article.asp\?id=$1
RewriteRule /default([0-9,a-z]*).html /default.asp\?$1
RewriteRule /default_([0-9,a-z]*).html /default.asp\?cateID=$1
RewriteRule /default.html /default.asp

#防盗链部分
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteCond Referer: (?!http://(?:.*\.kenvi\.cn|kenvi\.cn|.*\.google\.com|google.com|.*\.baidu\.com|baidu\.com)).+
RewriteRule .*\.(?:gif|jpg|png|exe|rar|zip|torrent|bmp|pdf) /badlink.png [I,O,N]
#结束

只有两个文件:
ISAPI_Rewrite.dll (加载于欲防站点,需重启iis)
http.ini (存放在ISAPI_Rewrite.dll的同级目录,修改保存后实时生效。)

解释
第一行:将article.asp?id=1 转为使用article_1.html来访问
第二行:这个就是典型的单参数例子,多参数例子就是第一行罗,如果title不是中文就把 .* 换成 \d+
第三行:这个就是典型的无参数例子
第四行:这个还是典型的无参数例子 ^_^
第五行:空白
第六行:注释
如果需要防盗链,第七行第八行照抄
第九行:设置友情站点,这些站点可以访问网站上的资源。“.*\.google\.com”.* 是代表任意前缀。
第十行:设置受限文件格式, [I,O,N] 后面的 N 用来防止防问了盗链者网站后将badlink.png 缓存下来(再访问你的站点使用缓存的badlink.png 就不雅观啦)

转载于:https://www.cnblogs.com/aaa6818162/archive/2009/06/18/1505948.html

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

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

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


相关推荐

  • 到底什么是hash呢?hash碰撞?为什么HashMap的初始容量是16?

    到底什么是hash呢?hash碰撞?为什么HashMap的初始容量是16?一,到底什么是hash呢?作者:知乎用户链接:https://www.zhihu.com/question/26762707/answer/40119521来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。hash(散列、杂凑)函数,是将任意长度的数据映射到有限长度的域上。直观解释起来,就是对一串数据m进行杂糅,输出另一段固定长度的数据h,作为这段数据的…

    2022年6月16日
    43
  • Pycharm 更改国内镜像[通俗易懂]

    Pycharm 更改国内镜像[通俗易懂]打开File-setting-Project:项目名称-projectInterpreter-点击右边加号出现availablepackages-下边Managerespositories-将默认的更换成清华大学镜像https://pypi.tuna.tsinghua.edu.cn/simple/然后关闭即可

    2022年8月29日
    2
  • [RoCE]Flow Control

    [RoCE]Flow Control概览RoCE可以实现lossless无损网络环境,在二层网络上做到可靠网络传输,从而对原本在光纤网络环境下的应用在以太网环境下提供相同的服务,而不必对应用逻辑和上层协议更改。实现无损的方法有GlobalPause,PFC,DroplessReceiveQueue。1.什么是802.3xFlowControl(GlobalPause)?以太网标准(802.3)设计时是不可…

    2022年5月20日
    52
  • TCP Flags标志位介绍[通俗易懂]

    TCP Flags标志位介绍[通俗易懂]传输控制协议(TransmissionControlProtocol,TCP)是一种传输层协议。TCP使数据包从源到目的地的传输更加顺畅。它是一种面向连接的端到端协议。每个数据包由TCP包裹在一个报头中,该报头由10个强制字段共20个字节和一个0到40字节的可选数据字段组成。如下图所示:来自于https://www.geeksforgeeks.org1.源端口号(SourcePort):16bits,该字段标识发送方应用程序的端口号。2.目…

    2022年7月16日
    17
  • 设计模式总结

    设计模式总结

    2021年12月9日
    50
  • poetry下载_k8s安装工具

    poetry下载_k8s安装工具介绍Poetry是Python中的依赖管理和打包工具,当然它也可以配置虚拟环境。它允许您声明项目所依赖的库,并为您管理(安装/更新)它们。之前一直使用virtualenvwrapper管理虚拟

    2022年8月7日
    6

发表回复

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

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