2024年5月26日发(作者:)

Request 对象 错误 'ASP 0104 : 80004005'

不允许操作

/include/upload_,行 16

系统限制了上传大小,操作不允许。

原因:

在使用Windows2003作为web服务器的时候,当提交较多内容或上传较大文件时

会出现如下错误:Request 对象 错误 ’ASP 0104 : 80004005’ 不允许操作。也

就是我们这里说的ASP“0104:0x80004005”错误,其实这是微软在2003系统,准确地

说是IIS6里面对安全的一个考虑,它对request的大小作了限制,最大为204800字节,

也就是200K,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。

技术背景:

在 IIS 6.0 中, AspMaxRequestEntityAllowed 属性指定了一个 ASP 请求(Request)

可以使用的最大字节数. 如果 Content-Length 头信息中包含的请求长度超过了

AspMaxRequestEntityAllowed 的值, IIS 将返回一个 403 错误信息.

这个属性值与 MaxRequestEntityAllowed 相似, 但是是针对 ASP 请求的. 假如你

知道自己的 ASP 应用只需要处理很少的请求数据, 你可以在 World Wide Web

Publishing Service (WWW 发布服务)层级设定全局的 MaxRequestEntityAllowed 属

性为 1MB, 并单独设定 AspMaxRequestEntityAllowed 为一个较小的值.

解决办法:

方法一:

1、先打开Internet 信息服务(IIS)管理器;

(本地计算机 )---- 属性 ----允许直接编辑配置数据库(N)

一定要勾选“允许直接编辑配置数据库(N)”

2、然后在服务里关闭iis admin service服务;

3、找到windowssystem32inesrv下的,用计事本打开

,找到ASPMaxRequestEntityAllowed把他修改为需要的值,默认为

204800,把它修改为51200000(50M);

4、然后重启iis admin service服务。

方法二:

1、新建一个文本文件;

set providerObj=GetObject("winmgmts:/root/MicrosoftIISv2")

set vdirObj=("IIsWebVirtualDirSetting=’W3SVC/1/ROOT’")

Ws "Before: " & RequestEntityAllowed

RequestEntityAllowed=51200000

_()

Ws "Now: " & RequestEntityAllowed

2、将以上内容保存为;

3、在cmd命令行界面下执行

cs cript [path]

方法三:

1、下载工具Internet Information Services (IIS) 6.0 Resource Kit Tools,并安装,

记得自定义一下,里面有一些用不到,这里只用到Metabase Explorer;

2、开始-程序菜单-IIS Resources-Metabase Explorer,运行Metabase

Explorer;

3、修改(local)LMW3SVCAspMaxRequestEntityAllowed属性,修改为较大

的值,如51200000(50M)。

在编辑文件前如果没有停止IIS服务,则无法保存修改后的文件。

若你想在iis运行的时候修改其配置文件,则打开iis管理器,打开internet信息服

务属性面板,钩选“允许直接编辑配置数据库,允许在iis运行时编辑iis配置数据库配置

文件。