IIS5.0升级到IIS6.0造成的 HTTP 500 - 内部服务器错误问题

在windows 2003  server 上运行ASP代码后发现如下错误(以前在windows 2000下测试可是没有任何问题的):

无法显示网页
您要访问的网页有问题,无法显示。

--------------------------------------------------------------------------------

请尝试以下操作:
打开 localhost  主页,然后查找指向您感兴趣信息的链接。
单击刷新按钮,或以后再试。
单击搜索,寻找 Internet 上的信息。
也可查看相关站点列表。
 
HTTP 500 - 内部服务器错误
Internet Explorer  

在网上搜了半天,在通过查找日志文件发现,原来是版本不同了,后果不一样。

日志文件显示:

2006-08-02 09:33:03 127.0.0.1 POST /admin/ChkLogin.asp |2|ASP_0131|不允许的父路径 80 - 127.0.0.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.2;+.NET+CLR+1.1.4322) 500 0 0
原来是在ChkLogin.asp里面有访问父文件夹里的文件的情况,那为什么在IIS5里可以,而在IIS6里却不行了呢?查找了一翻,终于找到了解决问题的办法,却不知道原因如何。

不允许的父路径

<!--#include file=../inc/jiami.asp-->,行 2

包含文件 '../inc/BBSsetup.asp' 不能用 '..' 表示父目录。

解决方法如下:

 

在 IIS 管理器中,展开本地计算机,右键单击要配置的应用程序的开始位置目录,然后单击“属性”。
单击“主目录”选项卡,然后单击“配置”。
单击“选项”选项卡。
在“应用程序配置”部分,选择“启用父路径”复选框。
单击“确定”。

Q:我的ASP文件包含文件的时候提示Active Server Pages 错误 'ASP 0131'不允许的父路径,如何解决?
A:在站点属性中选择主目录-配置-应用程序选项,将“启用父目录”选上。

Q:我的ASP文件包含文件的时候提示Active Server Pages 错误 变量未定义:_'session' ,如何解决?
A:在站点属性中选择主目录-配置-应用程序选项,将“启用会话状况”选上。

说明:

在IIS5中,应用程序配置(选项)中“启用父路径”是默认选中的,而在IIS6中,这个选项的默认状态是没有选中的。按上面的说明完成操作,问题终于得到了解决。有网友说(1)在IIS6中,ASP 页使用 #include 在服务器端的包含文件指令和 ".." 记号来引用某个父目录时存在着安全问题要引起重视;(2)IIS6的默认自定错误消息并不一定能全面准确地措出错误。不知道会不会这样,我还没有试过,有待大家讨论。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值