解决asp上传不能超过200K的限制
【赛迪网讯】为了减少以前太宽松的超时和限制而造成的攻击。IIS 6 出于安全考虑, 对asp的上传文件大小默认最大请求是限制为200K(也即最大提交数据限额为200KByte,204800Byte)。(在 IIS 6.0 之前的版本中无此限制)
Windows2003系统下,上传较大的文件时,出现“Request 对象 错误 'ASP 0104 : 80004005'”错误。现在给出以下解决方案:
办法一:
第一步:修改IIS设置,允许直接编辑配置数据库。先打开,Internet信息服务,
第二步:先在服务里关闭IIS admin service服务,找到windows\system32\inesrv\下的metabase.xml, 打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K,如把它修改为51200000(50M)。
然后重启IIS admin service服务。
办法二:
新建一个文本文件,内容如下:
'----------------------------------------------------
set providerObj=GetObject("winmgmts:/root/MicrosoftIISv2")
set vdirObj=providerObj.get("IISWebVirtualDirSetting='W3SVC/1/ROOT'")
WScript.Echo "Before: " & vdirObj.AspMaxRequestEntityAllowed
vdirObj.AspMaxRequestEntityAllowed=51200000
vdirObj.Put_()
WScript.Echo "Now: " & vdirObj.AspMaxRequestEntityAllowed
'----------------------------------------------------
然后保存为.vbs文件,如:iis.vbs
然后在命令行模式下,执行 cscript 文件路径及文件名,如:
cscript c:\iis.vbs
这样ASP上传大小就更改为了上面设置的:51200000字节 (50兆)。IIS 6.0对asp的上传文件大小为200k限制就这样解决了。
(实习编辑:白瑞)