将dsoframer修改为能通过IE的可安全执行脚本
2011-11-20 15:29
363 查看
微软的dsoframer.ocx V1.3.1323.0版本,需要在IE上设置“对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本“,
通过其源码下面2个函数的修改,可以解决该问题,
需要注意带来的新问题:微软的ocx带数字签名,自己编写的不带有签名,而申请数字签名动辄上千元
修改位置:
1. 文件:dsofcontrol.cpp
函数:STDMETHODIMP CDsoFramerControl::XObjectSafety::GetInterfaceSafetyOptions
内容:
2. 文件:dsofcontrol.cpp
函数:STDMETHODIMP CDsoFramerControl::XObjectSafety::SetInterfaceSafetyOptions
内容:
通过其源码下面2个函数的修改,可以解决该问题,
需要注意带来的新问题:微软的ocx带数字签名,自己编写的不带有签名,而申请数字签名动辄上千元
修改位置:
1. 文件:dsofcontrol.cpp
函数:STDMETHODIMP CDsoFramerControl::XObjectSafety::GetInterfaceSafetyOptions
内容:
//*pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA; //return S_OK; if (riid == IID_IDispatch) { *pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER; return S_OK; } else if (riid == IID_IPersistPropertyBag || riid == IID_IPersistStreamInit || riid == IID_IPersistStorage || riid == IID_IPersistMemory) { *pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA; return S_OK; } return E_NOINTERFACE;
2. 文件:dsofcontrol.cpp
函数:STDMETHODIMP CDsoFramerControl::XObjectSafety::SetInterfaceSafetyOptions
内容:
//return ((((riid == IID_IPersist) || (riid == IID_IPersistPropertyBag)) && // (dwEnabledOptions == INTERFACESAFE_FOR_UNTRUSTED_DATA)) ? S_OK : E_FAIL); if (riid == IID_IDispatch) { BOOL bFalg = INTERFACESAFE_FOR_UNTRUSTED_CALLER == dwOptionSetMask && INTERFACESAFE_FOR_UNTRUSTED_CALLER == dwEnabledOptions; return bFalg ? S_OK : E_FAIL; } else if (riid == IID_IPersistPropertyBag || riid == IID_IPersistStreamInit || riid == IID_IPersistStorage || riid == IID_IPersistMemory) { BOOL bFalg = INTERFACESAFE_FOR_UNTRUSTED_DATA == dwOptionSetMask && INTERFACESAFE_FOR_UNTRUSTED_DATA == dwEnabledOptions; return bFalg ? NOERROR : E_FAIL; } return E_NOINTERFACE;
相关文章推荐
- 修改windows2008 ie安全级别 无法执行脚本 无法显示Flash
- VBS 通过注册表修改ie的安全级别,允许本地文件的脚本运行
- 通过winscp实现一键修改多台机器文件,并执行相应命令的脚本
- IE中无法执行JS脚本 解决WINDOWS SERVER 2008弹出INTERNET EXPLORER增强安全配置正在阻止来自下列网站的内容
- 如何通过组策略修改IE的安全级别,记录帐户密码,实现moss的单点登陆
- 如何通过组策略修改IE的安全级别,记录帐户密码,实现moss的单点登陆
- DEDECMS安全设置 执行php脚本限制设置方法(iis6+iis7+apache+nginx)
- Mac 关闭chrome的自动更新解决版本更新造成的自动化测试脚本执行不通过的问题
- 我的脚本-修改dylib的执行路径
- 通过shell脚本循环进入目录执行命令的方法
- 使 WebBrowser 更简单的插入、调用执行脚本, 可安装 jQuery 脚本的 C# 开源代码 - IEBrowser
- linux下通过sh脚本执行java工程程序
- jenkins修改启动用户,解决执行脚本权限问题
- WEB打印设置解决方案一(通过修改注册表改变IE打印设置)
- 请教:oa办公问题 上传word文档后,通过ie阅读,再修改后覆盖服务器端的原文件
- 通过脚本运行修改数据库表的字段默认值
- 修改IE的安全站点
- 使用户能够进一步控制对通过在多个基本表上执行 JOIN 操作所得到的 Recordset 中的特定基本表的修改
- python 定时执行脚本,通过设置定时任务执行python 脚本
- 用shell脚本为ubuntu自动添加用户,并限定通过ssh连接该用户只能执行特定某个(或某几个)程序