高分急求:自定义数字签名OCX为什么老被IE判断有不安全脚本???

Basin 2003-05-08 09:51:53
我自己写了一个取硬盘序列号的OCX,然后用数字签名程序进行数字签名。然后在ASP文件中加入如下代码:

<OBJECT id="Serial1" width="100%" height="24" classid="clsid:CAFDDCAD-5A0E-480E-B69B-75DF4FE1B9A5" codebase="MySerial.ocx#version=1,0,0,1">
</OBJECT>
<Span id="Serial"></Span>
<Script language="vbscript">
Serial1.GetSerial() '调用取序列号函数
document.getElementById("Serial").innerHTML = Serial1.ClientSerial '取得最终序列号
</Script>

第一次调用ASP页面,弹出有数字签名的安装提示,都很正常。安装完成后,IE弹出“在此页上的ActiveX控件和本页上的其他部分的交互可能不安全,您想允许这种交互吗?”的确认信息,如果不选择YES,则无法执行VBSCRIPT脚本。而且,以后每次调用该ASP页面,都会弹出这种提示。开始,我以为是数字签名有问题,但是我用该数字签名其他微软的OCX控件,都没有问题。好像跟数字签名没有关系。
我很困惑,既然是经过数字签名的OCX控件,IE为什么还认为该控件的代码不安全??

请各位大侠相助,高分相送!在线等待。。。
...全文
137 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Basin 2003-05-08
  • 打赏
  • 举报
回复
如果把IE的安全设置更改后,当然不会出这个提示,问题是我需要在不更改设置的情况下不报这个提示框。因为,在同样的IE安全设置下,其他经过我数字签名的微软的OCX运行不报这个提示。
深渊的水影 2003-05-08
  • 打赏
  • 举报
回复
那可能是IE自己里面安全设置的问题。
Basin 2003-05-08
  • 打赏
  • 举报
回复
经过我辛苦查找,终于解决该问题,因为看见CSDN上还有类似的帖子最终没有解决问题,现将解决办法贡献出来供大家参考:

“IE的警告提示有两种:一种是下载时警告控件没有合法的签名,另一种是警告脚本中有不安全的内容。对于前一种警告,提示不安全是在VB控件运行之前进行的,所以你在VB中对此无能为力,只能修改IE的安全选项或给控件加上数字签名(QA002157 "怎样给控件签名呢")。站在你的角度上出现这样的提示不够好看,但站在用户的角度看,由于ActiveX不象Java提供一定的安全限制,控件一旦运行可以无障碍地修改用户本地文件。如果用户浏览时得不到任何提示,岂不是太危险了。对于后一种警告,可以在VB代码中通过编程避免,参考http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q182/5/98.asp&NoWebContent=1”(转贴)
wer2100 2003-05-08
  • 打赏
  • 举报
回复
up
Basin 2003-05-08
  • 打赏
  • 举报
回复
Up
Basin 2003-05-08
  • 打赏
  • 举报
回复
Up
经常使用电脑可能也遇到过了! 突然‘咚’的一声 提示 内存不能为read 这个问题我以前也遇到过不知道怎么解决 现在终于有办法了!呵呵! 我们就看看是什么原因引起的吧,另外附送一个小工具修复见下面附件 总结下大概以下9个原因 1、驱动不稳定,与系统不兼容,这最容易出现内存不能为 Read 或者文件保护(主要原因) 2、系统安装了一个或者多个流氓软件,这出现 IE 或者系统崩溃的机会也比较大,也有可能出现文件保护 3、系统加载的程序或者系统正在运行的程序之前有冲突,尤其是部分杀毒软件监控程序 4、系统本身存在漏洞,导致容易受到网络攻击。 5、病毒问题也是主要导致内存不能为 Read、文件保护、Explorer.exe 错误…… 6、如果在玩游戏时候出现内存不能为 Read,则很大可能是显卡驱动不适合(这里的不适合有不适合该游戏、不适合电脑的显卡)也有可能是 系统版本不够新或者不符合该游戏、显卡驱动 7、部分软件本身自身不足的问题 8、电脑硬件过热,也是导致内存不能为 Read 的原因之一。 9、电脑内存与主板兼容性不好也是导致内存不能为 Read 的致命原因! 以上大概就是目前可以引起系统提示 内存不能为read的原因了 另外软件是针对只是针对部分原因引起的内存不为read所做修复,不是100%有效,大家可以试试看 说下原理: 就是批处理使用 regsvr32命令 将动态链接库文件重新注册 (system32下的所有 .dll 和 .ocx 文件;) 注意:由于修复工具会重新注册 system32下的所有 .dll 和 .ocx 文件 此操作对杀毒软件来说属于敏感操作,所以建议使用修复工具的时候,请禁用杀毒软件,以免部分杀毒误报!jie

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧