来谈谈:真正可用的IIS的ISAPI-Rewrite伪静态URL图片防盗链划定规矩写法
不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令。网站程序的URL假装法、服务器真个免费插件法和ISAPI-REWRITE的划定规矩过滤法等,思索本身网站布局和钱包的坚苦成绩,终极选择了后者,即如今盛行用来做伪静态的ISAPIRewrite誊写划定规矩来完成
经测试四种情形一般,即站内链接一般,白名单里的链接一般,盗链者链接屏障,搜刮引擎链接一般。
具体以下;
1、完整屏障一切盗链来历的写法(如已有别的划定规矩,则置于已有划定规矩的下面)
.代码以下:
RewriteCondHost:(.+)
RewriteCondReferer:(?!http://1.*).*
RewriteRule.*.(?:gif|jpg|jpeg|png|bmp)/block.gif
RewriteCondHost:(.+)
RewriteCondReferer:(?!http://1.*).*
RewriteRule.*.(?:gif|jpg|jpeg|png|bmp)/block.gif
第一行经由过程RewriteCond的HOST界说其下的划定规矩所合用的哀求主机局限。
第二行经由过程RewriteCond的Referer界说划定规矩合用的哀求来历地点,我们都晓得任何经由过程互联网体例会见网站城市留下Referer的陈迹,就仿佛我们在IIS日记里看到的一样。这里的(?!http://1.*).*意义就是判别一切经由过程http协义发来的哀求,都要使用划定规矩。
第三行经由过程RewriteRule界说防盗链文件的后缀,这里仅是图片后缀,必要的能够增加mp3,rar等别的一切后缀。前面的/block.gif暗示假如赶上这些后缀的文件被盗链后的转向,这里转向/根目次的block.gif,能够是HTML等任何文件。假如只想某个文件夹上面的文件不被盗链,只必要加上路径就能够。比方不想images和pic目次下的文件被盗,但别的能够。就要改写成:
RewriteRule(/images/|/pic/).*.(?:gif|jpg|jpeg|png|bmp)/block.gif
这类情形次要是有些站长在他人友谊链接里的图片地点是在本人这的。
最初面的,I暗示不辨别巨细写,O暗示对URL举行尺度化,多是用来处置Unicode编码的地点(比方包括中文的URL)和QueryString的内容,N暗示从头从站点哀求文件而不是从当地缓存读取文件,目标是避免当用户会见了盗你链的网站后,再回到你的网站也呈现盗链提醒。
提醒,因为此划定规矩是经由过程Referer来猎取带有http://字样的地点举行过滤,因而它没法提防别的协定的盗链,好比迅雷下载。但经由过程任何扫瞄器间接会见,只需是HTTP协义的,通杀。
以上关于RewriteCond和RewriteRule的感化仅是自己的土法了解,接待在这方面有专业研讨的伴侣在批评中斧正,以避免误导,别的假如碰到isapi-rewrite版本成绩,只需包管前面的正则式写法准确就行。
2、扫除性防盗链写法
.代码以下:
RewriteCondHost:(.+)
RewriteCondReferer:(?!http://1.*).*
RewriteCondReferer:(?!http://(.*)(.baidu.com|.google.com|.google.cn|.g.cn|.gougou.com|.soso.com|.sogou.com|.youdao.com|.bing.com|.yahoo.com|.yahoo.cn|.eojoo.com)).*
RewriteRule.*.(?:gif|jpg|jpeg|png|bmp)/block.gif
RewriteCondHost:(.+)
RewriteCondReferer:(?!http://1.*).*
RewriteCondReferer:(?!http://(.*)(.baidu.com|.google.com|.google.cn|.g.cn|.gougou.com|.soso.com|.sogou.com|.youdao.com|.bing.com|.yahoo.com|.yahoo.cn|.eojoo.com)).*
RewriteRule.*.(?:gif|jpg|jpeg|png|bmp)/block.gif
第一行同上
第二行同上
第三行经由过程正则表达式对第二行中的哀求协义地点举行过滤,这里按下面的写法,过滤了一切盛行的搜刮引擎,固然也包含你本人的站,或是你同台服务器别的的站。每一个分歧的域名写法是.baidu.com,多个有|号相隔。假如是IP则如许写100.100.100.100
第四行同上
如许申明应当不难了解吧,间接拿往用,按着原有格局改。
划定规矩中呈现的正则表达式标记小解:
. 暗示婚配除换行符之外的恣意字符
+ 暗示后面的字符能够呈现一就任意屡次
* 暗示后面的字符能够呈现零就任意屡次
()暗示一个表达组,能够拿它和加减乘除法一同了解
?!暗示断言这个标记前面的字符假如呈现则不再举行接下往的婚配
暗示本义标记,好比网址中的.是划定规矩内置的运算标记,要把它经由过程本义成字符。
| 暗示大概,用于毗连多种大概
如果你只是想应付一下操作系统的课程,劝你最好别学,或者说不要指望能用的怎么样。 任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统. 应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。 随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。 在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。 未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。 Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。 这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。 随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
页:
[1]