zoukankan      html  css  js  c++  java
  • 巧用ISAPI_Rewrite规则写IIS防盗链(转)

    因为网站的关系,不得不把服务器加上防盗链,以前在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 就不雅观啦)

  • 相关阅读:
    Java实现第九届蓝桥杯第几天
    Java实现第九届蓝桥杯第几天
    Java实现第九届蓝桥杯第几天
    Java实现第九届蓝桥杯第几天
    Java实现第十届蓝桥杯特别数的和
    Mysql大数据备份和增量备份及还原
    学会4种备份MySQL数据库(基本备份方面没问题了)
    解决表单提交参数乱码问题【终极版】不看后悔
    聊聊单元测试(三)——Spring Test+JUnit完美组合
    eclipse gradle插件(buildship)的安装和使用
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/1505948.html
Copyright © 2011-2022 走看看