详解iis httpd.ini中IIS图片防盗链的方法_win服务器

一、创建目录 e:Rewrite

把 Rewrite 下的四个文件(httpd.ini 、httpd.parse.errors、mtbnotif.dll、Rewrite.dll)上传到这里。

二、设置IIS属性,选择网站属性,到ISAPI筛选器,

关闭属性对话框。

再次查看网站属性,到ISAPI筛选器

如果看到状态为向上的绿色箭头,就说明Rewrite模块安装成功了。

点添加,在名称中输入rewrite,可执行文件选择刚才解压后的文件Rewrite.dll,点确定;再点确定,

三、修改 e:Rewrite 里的 httpd.ini 文件为下面内容

复制代码 代码如下:

[ISAPI_Rewrite]

# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP

# Discuz4.10 Rewrite规则

RewriteCond Host: (.+)
# RewriteCond Referer: (?!http://1.*).*
RewriteCond Referer: (?!http://(?:*.abc.net|*.google.com|*.baidu.com)).+

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

#以上规则是 *.abc.net 的站点 google baidu不屏蔽

必须要保证httpd.ini有可写权限,设置isapi_rewrite安装文件夹everyone具有可修改权限后,去除该文件的只读属性。

httpd.ini默认设置如下:

复制代码 代码如下:

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

我们在它后面加上一句

复制代码 代码如下:

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

即可实现gif/jpg/png/exe/rar/zip文件的防盗链,盗链页面显示的是/block.gif。block.gif是一个体积较少的图片文件,我们可以在上面打上自己网站的版权标志和防盗链声明。

如果按照上面设置,则除本站以外的所有网站均不能使用这里的图片,如果要允许一些例外的网站比如google,baidu以及其它一些非营利性网站引用该怎么办呢?我们可以用如下正则表达式来实现

复制代码 代码如下:

RewriteCond Referer: (?!http://(?:www\.jb51\.net|www\.google\.com|www\.baidu\.com)).+

如果想允许所有google子站和baidu子站形如images.baidu.com,images.google.com等站则做如下设置:

复制代码 代码如下:

RewriteCond Referer: (?!http://(?:*\.jb51\.net|*\.google\.com|*\.baidu\.com)).+

至此,一个相当有效的防盗链系统已经出来了,但如上设置有一个问题,如果浏览者浏览了盗链页面后访问本站页面,则被盗链图片的缓存会影响图片的正常显示。把

复制代码 代码如下:

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

改为

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

参数N的意思是重新从站点请求文件而不是从本地缓存读取。

时间: 2024-11-03 11:18:41

详解iis httpd.ini中IIS图片防盗链的方法_win服务器的相关文章

真正可用的IIS的ISAPI-Rewrite伪静态URL图片防盗链规则写法_win服务器

网站程序的URL伪装法.服务器端的收费插件法和ISAPI-REWRITE的规则过滤法等,考虑自身网站结构和钱包的困难问题,最终选择了后者,即现在流行用来做伪静态的ISAPI Rewrite书写规则来实现 经测试四种情况正常,即站内链接正常,白名单里的链接正常,盗链者链接屏蔽,搜索引擎链接正常. 详细如下: 一.完全屏蔽所有盗链来源的写法(如已有其它规则,则置于已有规则的上面) 复制代码 代码如下: RewriteCond Host: (.+) RewriteCond Referer: (?!ht

iis httpd.ini中IIS图片防盗链

一.创建目录 e:Rewrite 把 Rewrite 下的四个文件(httpd.ini .httpd.parse.errors.mtbnotif.dll.Rewrite.dll)上传到这里. 二.设置IIS属性,选择网站属性,到ISAPI筛选器, 关闭属性对话框. 再次查看网站属性,到ISAPI筛选器 如果看到状态为向上的绿色箭头,就说明Rewrite模块安装成功了. 点添加,在名称中输入rewrite,可执行文件选择刚才解压后的文件Rewrite.dll,点确定:再点确定, 三.修改 e:Re

IIS无法显示中文名称图片问题的解决方法_win服务器

网上找了一下资料,对注册表重新设置了一下,就解决问题了. 有两种方法可以解决此问题: 1.在Web服务器端修改注册表,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\INETINFO_PARAMETERS\FAVORDBCS 把1改成0,之后重新启动IIS即可.(如果此值已经是0,应该不会出现上述问题) 2.在客户端修改IE设置 把"总是以UTF-8发送URL"设置为不选中.(最好采用第一种方案,否则不会为每个访问者都去设置一下

php实现博客,论坛图片防盗链的方法_php技巧

本文实例讲述了php实现博客,论坛图片防盗链的方法.分享给大家供大家参考,具体如下: 防盗链的方式很多,我这里就说说我对放盗链的理解,这个跟防止远程提交是一个原理. 先介绍一个函数 uniqid(string); //这个函数的作用,是在你添加的字符串后面随即添加一个独一无二ID字符串. 如果你还不放心,你可以给这个函输出的字符串再用SHA1()函数进行加密. 这样我们得到了一个独一无二,且只有你自己知道的字符串,用来做数字签证.接下来是如何检测这个数字签证. function has($str

Apache图片防盗链配置方法介绍(可用.htaccess)

图片防盗链配置规则很简单 RewriteRule .*.(gif|jpg|swf|png) 说明一下其中的R.NC 和 L R 就是转向的意思 NC 指的是不区分大小写 L 的作用是指明本次转向到此结束,后续的转向不受先前判断语句的影响 5.防止 盗链的文件类型 上例中是 gif.jpg.png,而根据须要 ,可修改 或添加其他文件类型,如rar.mov等,不同文件扩展名间运用 ""分割. 使用 rewrite 技术实现 Apache 防盗链 Apache 防盗链的第一种实现方法,可以

WordPress图片防盗链的方法总结

通过修改主机根目录下的.htaccess文件防图片盗链 一般的WordPress博客使用的都是Linux主机,所以可以通过FTP进入网站根目录,找到.htaccess文件.在其中加入:  代码如下 复制代码 1.# BEGIN WordPress 2.<IfModule mod_rewrite.c> 3.RewriteEngine On 4.RewriteBase / 5.RewriteRule ^index.php$ - [L] 6.RewriteCond %{REQUEST_FILENAM

Nginx中图片防盗链设置方法详解

由于有时候一些其他网站会调用本站的图片,nginx本身是可以屏蔽其他网站调用本站图片,方式如下: 根据后缀: location ~ \.(gif|jpg|png|swf|flv|bmp)$ {     valid_referers none blocked *. 111cn.net;     if ($invalid_referer) {     return 404; } } 根据目录:  location /images/ {   root /web/site/www/;   valid_r

IIS防盗链 ISAPI Rewrite图片防盗链规则写法_服务器其它

通过G.CN和B.CN搜索后得出了几种不同的方案,例如网站程序的URL伪装法.服务器端的收费插件法和ISAPI-REWRITE的规则过滤法等,考虑自身网站结构和钱包的困难问题,最终选择了后者,即现在流行用来做伪静态的ISAPI Rewrite书写规则来实现我的防盗链"梦想". 为什么说是梦想呢?首先表示惋惜,懒人我搜来了一大票经过无数次转载而来的文章,把现呈的代码应用后发现要么根本不起作用,要么就是效果达不到我想要的,几经周折后终于把这原本认为可以轻易借鉴照搬的防盗链给完成了,恨那些只

IIS中保持HTTP连接的设置方法_win服务器

大多数 Web 浏览器要求服务器在多个请求中保持连接打开.这被称为保持 HTTP 连接.保持连接是一个 HTTP 规范,它能够显著增强服务器性能.如果没有它,浏览器将必须为包含多个元素(如图形)的页进行大量的连接请求.可能需要为每个元素进行单独连接.这些额外的请求和连接要求额外的服务器活动和资源,这将会降低服务器的效率.它们还会大大降低浏览器的速度和响应能力,尤其是在网络连接速度较慢的地方. 在安装进程中,将默认启用保持 HTTP 连接.启用后,保持连接的持续时间是连接超时设置允许的时间. 集成