2.截图 1.配置ISAPI-Rewrite. (见:Win2003/IIS6 VPS实现Wordpress伪静态方法) 2.编写规则(httpd.ini)
代码:RewriteCond Host: (.+) RewriteCond Referer: (?!http://\1.*).* RewriteCond Referer: (?!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 [I,O,N]
 第一行通过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,N] 这种情况主要是有些站长在别人友情链接里的图片地址是在自己这的。 最后面的[I,O,N],I表示不区分大小写,O表示对URL进行标准化,可能是用来处理Unicode编码的地址(例如包含中文的URL)以及QueryString的内容,N表示重新从站点请求文件而不是从本地缓存读取文件,目的是防止当用户访问了盗你链的网站后,再回到你的网站也出现盗链提示。 提示,由于此规则是通过Referer来获取带有http://字样的地址进行过滤,因此它无法防范其它协议的盗链,比如迅雷下载。但通过任何浏览器直接访问,只要是HTTP协义的,通杀。 第三行通过正则表达式对第二行中的请求协义地址进行过滤,这里按上面的写法,过滤了所有流行的搜索引擎,当然也包括你自己的站,或是你同台服务器其它的站。每个不同的域名写法是\.baidu\.com,多个有|号相隔。如果是IP则这样写100\.100\.100\.100 第四行同上 这样说明应该不难理解吧,直接拿去用,按着原有格式改。 规则中出现的正则表达式符号小解: . 表示匹配除换行符以外的任意字符 + 表示前面的字符可以出现一到任意多次 * 表示前面的字符可以出现零到任意多次 () 表示一个表达组,可以拿它和加减乘除法一起理解 ?! 表示断言这个符号后面的字符如果出现则不再进行接下去的匹配 \ 表示转义符号,比如网址中的.是规则内置的运算符号,要把它通过\转义成字符。 | 表示或者,用于连接多种可能 3. 载入(实际上,httpd.ini和.htaccess就是互相转换而已) 4.重新启动"/> 2.截图 1.配置ISAPI-Rewrite. (见:Win2003/IIS6 VPS实现Wordpress伪静态方法) 2.编写规则(httpd.ini)
代码:RewriteCond Host: (.+) RewriteCond Referer: (?!http://\1.*).* RewriteCond Referer: (?!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 [I,O,N]
 第一行通过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,N] 这种情况主要是有些站长在别人友情链接里的图片地址是在自己这的。 最后面的[I,O,N],I表示不区分大小写,O表示对URL进行标准化,可能是用来处理Unicode编码的地址(例如包含中文的URL)以及QueryString的内容,N表示重新从站点请求文件而不是从本地缓存读取文件,目的是防止当用户访问了盗你链的网站后,再回到你的网站也出现盗链提示。 提示,由于此规则是通过Referer来获取带有http://字样的地址进行过滤,因此它无法防范其它协议的盗链,比如迅雷下载。但通过任何浏览器直接访问,只要是HTTP协义的,通杀。 第三行通过正则表达式对第二行中的请求协义地址进行过滤,这里按上面的写法,过滤了所有流行的搜索引擎,当然也包括你自己的站,或是你同台服务器其它的站。每个不同的域名写法是\.baidu\.com,多个有|号相隔。如果是IP则这样写100\.100\.100\.100 第四行同上 这样说明应该不难理解吧,直接拿去用,按着原有格式改。 规则中出现的正则表达式符号小解: . 表示匹配除换行符以外的任意字符 + 表示前面的字符可以出现一到任意多次 * 表示前面的字符可以出现零到任意多次 () 表示一个表达组,可以拿它和加减乘除法一起理解 ?! 表示断言这个符号后面的字符如果出现则不再进行接下去的匹配 \ 表示转义符号,比如网址中的.是规则内置的运算符号,要把它通过\转义成字符。 | 表示或者,用于连接多种可能 3. 载入(实际上,httpd.ini和.htaccess就是互相转换而已) 4.重新启动" />

Win2003-ISAPI-配置图片防盗链

  • 2013-02-03
  • 0
  • 0

先看一下结果吧.

1.链接

2.截图

1.配置ISAPI-Rewrite. (见:Win2003/IIS6 VPS实现Wordpress伪静态方法)

2.编写规则(httpd.ini)

代码:RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteCond Referer: (?!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 [I,O,N]

 第一行通过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,N]
这种情况主要是有些站长在别人友情链接里的图片地址是在自己这的。
最后面的[I,O,N],I表示不区分大小写,O表示对URL进行标准化,可能是用来处理Unicode编码的地址(例如包含中文的URL)以及QueryString的内容,N表示重新从站点请求文件而不是从本地缓存读取文件,目的是防止当用户访问了盗你链的网站后,再回到你的网站也出现盗链提示。
提示,由于此规则是通过Referer来获取带有http://字样的地址进行过滤,因此它无法防范其它协议的盗链,比如迅雷下载。但通过任何浏览器直接访问,只要是HTTP协义的,通杀。
第三行通过正则表达式对第二行中的请求协义地址进行过滤,这里按上面的写法,过滤了所有流行的搜索引擎,当然也包括你自己的站,或是你同台服务器其它的站。每个不同的域名写法是\.baidu\.com,多个有|号相隔。如果是IP则这样写100\.100\.100\.100
第四行同上
这样说明应该不难理解吧,直接拿去用,按着原有格式改。
规则中出现的正则表达式符号小解:
. 表示匹配除换行符以外的任意字符
+ 表示前面的字符可以出现一到任意多次
* 表示前面的字符可以出现零到任意多次
() 表示一个表达组,可以拿它和加减乘除法一起理解
?! 表示断言这个符号后面的字符如果出现则不再进行接下去的匹配
\ 表示转义符号,比如网址中的.是规则内置的运算符号,要把它通过\转义成字符。
| 表示或者,用于连接多种可能
3. 载入(实际上,httpd.ini和.htaccess就是互相转换而已)

4.重新启动

评论

还没有任何评论,你来说两句吧

发表评论