您的位置:首页 > 编程语言 > Go语言

总结:在IE中加入信任/受限站点的方法

2009-02-09 14:53 453 查看
这应该是比较常见的问题了。但发现居然Google不到。研究后还是写文备忘好了。

加入信任站点后,默认可以使用未标记为安全的ActiveX。在早期的B/S设计里,很多功能的实现会有要求客户加入信任站点,但Microsoft是把这些站点值写在注册表里面的。要加入某个站点,就必须写客户端的注册表。因此在客户不知情的情况下从网页上直接写入应该是做不到的。

最简单的方法应该是手动把自己的网址加入后,在注册表编辑器里面找到这个键值,再导出到文件。然后发给客户端运行就可以了。

仔细查找后,找到键值是写在HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/ZoneMap/Domains/目录下的。

找到这个就好办了。下面是批处理的实现:(www.abc.com)

 

reg add "HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/ZoneMap/Domains/abc.com/www" /v http /t REG_DWORD /d 0x00000002 /f

 

vbs脚本实现:

 

On Error Resume Next

Const HKEY_CURRENT_USER = &H80000001

strComputer = "."

Set objReg=GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv")

strKeyPath = "Software/Microsoft/Windows/CurrentVersion/Internet Settings/ZoneMap/Domains/abc.com"

objReg.CreateKey HKEY_CURRENT_USER, strKeyPath

strValueName = "http"

dwValue = 2

objReg.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue

msgbox("Add trust website www.abc.com Successful!")

 

在xp以及03下通过。

使用一段时间后又有发现,上述键值在某些客户机上会不起作用。这些客户机的ie版本(我只在某些ie7上发现)的信任/受限站点是从

HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/ZoneMap/EscDomains

里面读出来的,而在/ZoneMap/Domains目录下写入不起作用。同样,在那些/ZoneMap/Domains目录写入值起作用的客户机上,把值写入/ZoneMap/EscDomains却也不起作用。

 

总结:某些版本ie的信任/受限站点是写在HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/ZoneMap/Domains/下,(这个在ie6以及大多数ie7上比较常见),而某些(比较少见,也许是系统版本不同的原因)情况下是写在HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/ZoneMap/EscDomains/下的。

因此,修改脚本,同时写入2个节点就可以了

 

On Error Resume Next

Const HKEY_CURRENT_USER = &H80000001

strComputer = "."

Set objReg=GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv")

strKeyPath = "Software/Microsoft/Windows/CurrentVersion/Internet Settings/ZoneMap/Domains/zzwygl.cn/www"

Set objReg2=GetObject("winmgmts://" & strComputer & "/root/default:StdRegProv")

strKeyPath2 = "Software/Microsoft/Windows/CurrentVersion/Internet Settings/ZoneMap/EscDomains/zzwygl.cn/www"

objReg.CreateKey HKEY_CURRENT_USER, strKeyPath

objReg2.CreateKey HKEY_CURRENT_USER, strKeyPath2

strValueName = "http"

dwValue = 4

objReg.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue

objReg2.SetDWORDValue HKEY_CURRENT_USER, strKeyPath2, strValueName, dwValue

msgbox("Add trust website www.abc.com Successful!")

 

Ps:要加入受限站点,把dwValue=2改成=4就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息