点晴MIS问题教程区 加入收藏
问题搜索
 您的位置:点晴OA办公管理信息系统『 经验分享&问题答疑 』浏览当前教程  
  

  网站搜索
  搜索范围: 搜索方式: 关键词(可用空格分开)  

  作者及文章信息: 本文热度:8565 % 
admin

积分:36601
等级:网站管理员
文数:3517
注册:2010-1-13

 信息       

楼 顶 

 使用aspexec.dll时出现:检查权限时Server.CreateObject 的调用失败


aspexec.dll是在asp中执行服务端程序的组件,asp在调用系统注册的组件时,如果是window2003系统或者是window2000系统,且盘是ntfs格式的,就会有个权限的问题。

如果没有给IUSR_用户对aspexec.dll文件的访问权限,那么服务器在创建对象的时候就会报错。我在windows 2000 server版上的错误信息是:

Microsoft VBscript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

服务器对象 错误 'ASP 0178 : 80070005'

Server.CreateObject 访问错误

/aspexec.asp,行14

检查权限时Server.CreateObject 的调用失败。对此对象的访问被拒。

相信在windows2003或者是xp上错误提示信息都差不多。

解决办法就是给IUSR_用户加上对这个文件的访问权限。

在system32目录中找到aspexec.dll文件,点击右键,选“属性”,选中“安全”标签(XP系统有时候会没有这个标签,那就要选择“文件夹选项”、“查看”,把“使用简单文件试图(推荐)”前面的勾去掉)。看名称里是否有ISUR_开头的用户,没有就选择“添加”,找到以ISUR_开头的用户,然后确定。在权限中,我们只要允许“读取”和“读取及运行”两个就可以了。

很多人为了方便,会给上everyone用户的读取、读取及运行权限,但是这样来说是不安全的,更有甚者,会将system32目录给予用户everyone的这些权限,这个是非常不安全的。这样设置的话,asp程序就可以读取和运行该目录下的程序了,如cmd.exe,format.exe,net user等命令。

所以只要给单个aspexec.dll文件IUSR_权限就可以了,要删除掉everyone的权限。


该文章在 2011/4/22 14:55:24 编辑过

  离 线  2011-4-22 14:55:24 
  本文章共有 0 页, 0 张回文,每页有 10 张回文 >> [ ]
页码:  
Copyright 2010-2023 ClickSun All Rights Reserved