关于客户端自动设置可信站点以及ActiveX控件运行方式的原理说明(转)

时间:2022-11-30 14:25:39

原地址:http://www.syc.com.cn/dvbbs/dispbbs.asp?boardid=10&Id=97

      很多同事都知道我们产品在安装客户端时会自动将当前站点设置为可信站点,以及将IE浏览器内可信站点自定义设置中的ActiveX控件运行方式都改为“启用”,但具体是如何实现的可能都不知道,这里我给大家解释下,其实原理很简单。

     1. 必须通过setup.htm页面来安装客户端,而且必须在线安装,尽量避免下载软件下载安装。在setup.htm页面中有段代码,当用户访问这个页面时,会自动取得服务器的ip并将ip保存到客户机的“剪贴板”中,如果大家想验证的话,可以试试看访问这个页面,然后直接在写字板中按ctrl+V看看,是不是服务器的ip。

      2.接下来,在安装过程中系统会copy一个MySetTrustZone.exe的文件到本地,并在安装完成后运行,其作用是,取得剪贴板中的信息,并将该信息插入或更新到注册表中的指定位置,从而实现自动更改可信站点以及ActiveX设置更改。

      注册表地址如下:

      可信站点:

      HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/ZoneMap/Ranges/Range99

      这里需说明的是,系统添加的可信站点在ie的设置内是看不见的,只能通过访问该站点,查看右下角的区域来验证是否成功,如果用户自己手动通过ie添加过可信站点,则可以在该键值同级目录内发现 Range1,Range2,Range3等目录,其对应的就是手动设置的可信站点,为了不把用户自己设置的冲掉,故系统会取Range99这个名字,从而造成在ie内的可信站点内看不见。

      ActiveX设置:

      HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/Zones/2

      另外考虑到部分单位只能下载后copy到客户端安装,所以允许写死服务器ip地址,在客户端内,并且同样也自动设置,这个时候就要用到 webserver.ini文件,必须在打包前将客户web服务器地址写在里面,同时安装包脚本也需要稍微更改,在运行 MySetTrustZone.exe时需要增加一个local参数,重新打包即可。