邢红瑞的bloghongrui.blog.chinaunix.net

专注DRM、VPN、集中配置管理、应用交付和日志审计

  • 博客访问: 1732063
  • 博文数量: 333
  • 博客积分: 1241
  • 博客等级: 中尉
  • 技术积分: 4527
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-27 06:48
个人简介

给自己更高的要求,积极的学习,用正确的方法去做事,能辨别和听进别人的意见,然后付出最努力的辛苦。

文章分类

全部博文(333)

文章存档

2017年(68)

2016年(47)

2015年(51)

2014年(61)

2013年(55)

2012年(45)

2011年(6)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题
友情链接
ie8的sitelock 2012-11-15 17:49:35

分类: 网络与安全

IE8做的越来越安全,IE8支持站点的activex控件,activex只会被当前特定站点默认加载,从而避免被恶意站点使用。
ATL SiteLock模板和“Per-Site ActiveX”能够混合使用显式和隐式方法,将ActiveX控件绑定到一个或多个域。通过限制ActiveX控件的运行位置和上下文,开发人员和用户可以将改变控件用途的风险降至最低。
ATL SiteLock是一种显式机制,用于限制哪些域和哪些范围可以加载一个给定Activex控件。希望使用这一约束条件的控件开发人员可以将SiteLock模板应用到自己基于ATL的ActiveX控件。这些ActiveX控件没有实现IObjectSafety,而是实现IObjectSafetySiteLockImpl;这个界面是从IObjectSaftey派生而来的,使开发人员能够声明一个许可域(或区域)的列表,以在运行时进行检查。
SiteLock是防止ActiveX重用攻击的最可靠机制,在这种攻击方式中,恶意网站尝试滥用为在另一网站中使用而设计的控件。如果一个网站尝试加载SiteLock不允许的控件,将会防止该对象的实例化。不会出现信息栏或重载。
由于SiteLock机制需要控件开发人员付出一些努力,所以采用这一机制的控件数目有些不尽如人意。为此,微软在IE 8中添加了一个新功能,用于提供SiteLock的一些好处。“Per-Site ActiveX”功能使用户能够决定允许在哪些域中运行一个控件。默认情况下,通过浏览器安装的控件只能在安装该控件的站点上运行。当另一个网站要实例化一个已安装控件时,会向用户显示信息栏,询问是否允许在当前域或所有域中运行控件。
这个域列表可以通过“管理加载项”用户界面或通过“组策略”进行管理
#include "../Include/sitelock.h"
在前面定义
#define SITELOCK_USE_IOLEOBJECT
 
#define SITELOCK_NO_EXPIRY
控件类的继承
public IObjectWithSiteImpl<CVPNAgent>,
 public IObjectSafetySiteLockImpl<CVPNAgent, INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA >,
添加
COM_INTERFACE_ENTRY(IObjectSafetySiteLock)
COM_INTERFACE_ENTRY(IObjectWithSite)
头文件添加
public:
 
 static const SiteList rgslTrustedSites[6];
cpp文件添加
const CVPNAgent::SiteList CVPNAgent::rgslTrustedSites[6] ={
{ SiteList::Allow, L"http",  L"*"       },
{ SiteList::Allow, L"http",  SITELOCK_INTRANET_ZONE },
{ SiteList::Allow, L"https", L"*"       },
{ SiteList::Allow, L"https", SITELOCK_INTRANET_ZONE }};
 
阅读(3151) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册