用户操作
[即时聊天] [发私信] [加为好友]
黄海全ID:optman
44560次访问,排名2600(-1),好友2人,关注者3人。
比思想更有力的是行动
optman的文章
原创 111 篇
翻译 6 篇
转载 7 篇
评论 16 篇
最近评论
freeeim:犹如荒漠里的一个绿洲,救了俺的小命,呵呵。
你就这么厉害。
yumn2004:这篇文章对我有很大的帮助,谢谢楼主!
zhanghs202:你那个只是讨论一个主题或者两个人谈论一个话题而已
zhanghs202:你说的那个叫需求吗?肯定不叫,如果你不知道你要开发的东西是什么,你怎么下笔啊?
zhanghs202:听说丰田汽车早上9点上班,8:50的时候,安装车间一个零件都看不到,一个人也没有。晚上6点下班,6:10分的时候,车间里同样是看不到一个零部件。如此完美的景象,和公司的机制有莫大的关系。制度化,反腐倡廉的最佳利器是法律,制度化,以及保障机制。然后带来政府的工作的效率。软件研发的制度化,是保障沟通效率,正确高效工作的保证。
文章分类
    收藏
      相册
      Blog
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 再谈IObjectSafety收藏

      新一篇: 高效Web应用开发的指南(书评) | 旧一篇: MVC和MVP

      都说ActiveX危险,那么为什么XmlHttpRequest以及MediaPlayer都是用ActiveX的方式创建的,却没有问题?原来,这是因为这些ActiveX组件都声明自己是脚本安全的,而IE的中级安全设置上,是允许脚本安全的ActiveX创建,并且不予警告的。

      IE怎么知道一个插件是脚本安全的?它是通过以下两个办法。一是查询ActiveX组件是否实现了IObjectSafety接口,并且返回脚本安全;二是查询ActiveX组件是否在注册表的Component Category Manager里表明自己实现了CATID_SafeForInitializing和CATID_SafeForScripting。

      详情请参见MSDN的文章:

      About IObject Safety Extensions for Internet Explorer

      Safe Initialization and Scripting for ActiveX Controls

      一个ActiveX组件不能随随便便的把自己声明为脚本安全的,万一被人利用了咋办?因为只要在系统中注册了,任何网站都可以使用该ActiveX组件,有可能为做出损害用户利益的事情来。所以,作为一个负责任的开发者,在把自己的ActiveX组件声明为脚本安全以前,一定要再三思考,有没有可能被别人恶意使用?特别是有访问本地资源功能的组件,更要小心,别让人破坏了用户的数据或是窃取了信息。

      所以,你一定要看一看这篇MSDN的文章:Designing Secure ActiveX Controls

      虽然微软做了以上的防范,但是存在安全隐患。比如为了检查ActiveX组件是否支持IObjectSafety接口,你必须先把ActiveX组件给创建了。在你发现它根本就不支持IObjectSafety之前,相关的Dll就会被加载,初始化代码已经执行。天知道那些ActiveX组件创建后会不会有什么安全隐患,即便没有,也是浪费系统资源的。

      下面这篇文章IObjectSafety and Internet Explorer 就提出了一些改进意见,认为应该先检查Component Category Manager里的值,因为这只是静态的检索不需要真正加载ActiveX组件。如果注册表表明其是安全的,再加载和检查IObjectSafety接口。后面这一步是否有点多余?难道是怕有人篡改了注册表?也有可能。因为ActiveX组件是经过数字签名的,所以不可能生加上IObjectSafety接口。所以,需要双重防范。

      因此,ActiveX还是带有很多安全隐患的。所以,为了避免麻烦,不要随便浏览不靠谱的网页。

      发表于 @ 2007年07月18日 22:39:00|评论(loading...)|编辑

      新一篇: 高效Web应用开发的指南(书评) | 旧一篇: MVC和MVP

      评论:没有评论。

      发表评论  


      当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
      Csdn Blog version 3.1a
      Copyright © 黄海全