IE消息允许被阻止的内容: - IE限制此页面运行脚本或ActiveX控件?为什么?

时间:2014-01-22 05:47:43

标签: .net internet-explorer activex

我们开发了一个在浏览器中通过JavaScript调用的ActiveX对象。

我们已经实施了IObjectSafety,我们也使用regasm mydll.dll / tlb / codebase注册了这个dll

当我们在本地打开此页面时,我们会收到以下消息: -

IE限制此页面运行脚本或ActiveX控件?然后,我们必须选择允许阻止的内容才能运行..

但是,从服务器运行页面时没有这样的消息...

为什么这条消息会在本地出现?从ActiveX对象的代码中修复此问题的解决方法是什么?

我们使用VS2010 snk文件签署了ActiveX dll ... 我们为activex dll实现了IObjectSafety ... 我们已经使用regasm mydll.dll / tlb / codebase注册了这个dll 如果我之前没有实现上述两个步骤,那么在IE本地以及服务器上打开页面时,我是否也会遇到错误?

1 个答案:

答案 0 :(得分:1)

使用自生成的.SNK文件对您的DLL进行签名是不够的。您需要购买由经过认证的受信任机构颁发的全功能Authenticode签名证书。购物,选择范围,例如从thisthis

获得证书后,how to use it

需要支持IObjectSafety,但它不会使您的控件自动安全。你只是声明它是安全的,这是一个声明。如果您将控件部署在1000个PC上,那么有人会创建一个滥用控件API的VBScript木马,您可能会因虚假声明而被起诉。为了保持安全,您应该使用类似Sitelock template的内容。

但是,如果您通过file://协议在本地运行您的网页,并且执行您的DLL的手动部署,那么这是一个不同的故事。 在这种情况下,您无需使用Authenticode 对您的控件进行签名。但是,出于安全原因,默认情况下禁用所有ActiveX控件(安全和不安全)。更多细节:Understanding Local Machine Zone Lockdown。你可以使用Mark of the Web来解决它。