IE浏览器之可信任站点
// AddTrustSite.cpp : Defines the entry point for the application.
//一个网站当被某个客户端认为是可信站点后,从该站点下载的网页控件将被客户端信任且运行,那如何向客户端增加可信站点,是一项技术。
//传统的办法是直接操作注册表。但是据我研究,在winXP和win2003及winVista上,可信站点列表在注册表中的位置并不相同,且根据ie的不同版本,该位置也有不少差异。
//因此如果在不同平台和ie版本上增加可信站点,需要大量的判断。
//这里给出了一个办法,是直接调用ie的com组件,通过该com组件的接口,向系统中直接添加可信站点,且不被系统中是否为https站点的限制。
//编译后,支持命令行的方式运行。运行方式为:” AddTrustSite.exe http://www.sina.com.cn”
//#include “urlmon.h”
#include “windows.h”
#include “stdio.h”
bool AddTrustSite(LPCTSTR lpSiteName);
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
if(AddTrustSite(lpCmdLine))
{
MessageBox(NULL, “AddTrustSite success!”, “Note”, MB_OK | MB_ICONEXCLAMATION);
}
else
{
MessageBox(NULL, “AddTrustSite failed!”, “Note”, MB_OK | MB_ICONEXCLAMATION);
}
return 0;
}
bool AddTrustSite(LPCTSTR lpSiteName)
{
HRESULT hr;
IInternetSecurityManager *pSecurityMgr;
IInternetZoneManager *pZoneMgr;
int iUnicodeLen = 0;
WCHAR *pwcharUnicode = NULL;
ZONEATTRIBUTES zoneAttributes;
LPWSTR lpTrustSite = NULL;
#ifdef _UNICODE
lpTrustSite = SysAllocString(lpSiteName);
#else
iUnicodeLen = MultiByteToWideChar(CP_ACP, 0, lpSiteName, strlen(lpSiteName), NULL, 0);
if(iUnicodeLen < 1)
{
return false;
}
pwcharUnicode = new WCHAR[iUnicodeLen+1];memset(pwcharUnicode, 0x00, sizeof(WCHAR)*(iUnicodeLen+1));if(iUnicodeLen != MultiByteToWideChar(CP_ACP, 0, lpSiteName, strlen(lpSiteName), pwcharUnicode, iUnicodeLen)){if(pwcharUnicode != NULL){delete [] pwcharUnicode;pwcharUnicode = NULL;}return false;}
lpTrustSite = SysAllocString(pwcharUnicode);
#endif
::CoInitialize(NULL);
hr = CoCreateInstance(CLSID_InternetSecurityManager, NULL, CLSCTX_INPROC_SERVER, IID_IInternetSecurityManager, (void**)&pSecurityMgr);
hr = CoCreateInstance(CLSID_InternetZoneManager,NULL,CLSCTX_INPROC_SERVER,IID_IInternetZoneManager,(void**)&pZoneMgr);
pZoneMgr->GetZoneAttributes((DWORD)2,&zoneAttributes);if((zoneAttributes.dwFlags & ZAFLAGS_REQUIRE_VERIFICATION) == ZAFLAGS_REQUIRE_VERIFICATION){zoneAttributes.dwFlags &= ~ZAFLAGS_REQUIRE_VERIFICATION;pZoneMgr->SetZoneAttributes((DWORD)URLZONE_TRUSTED,&zoneAttributes);pSecurityMgr->SetZoneMapping((DWORD)URLZONE_TRUSTED, lpTrustSite, (DWORD)SZM_CREATE );zoneAttributes.dwFlags |= ZAFLAGS_REQUIRE_VERIFICATION;pZoneMgr->SetZoneAttributes((DWORD)URLZONE_TRUSTED,&zoneAttributes);}else{pSecurityMgr->SetZoneMapping((DWORD)URLZONE_TRUSTED, lpTrustSite, (DWORD)SZM_CREATE );}pSecurityMgr->Release();pZoneMgr->Release();
SysFreeString(lpTrustSite);
if(pwcharUnicode != NULL){delete [] pwcharUnicode;pwcharUnicode = NULL;}
::CoUninitialize();
return true;
}
IE浏览器之可信任站点相关推荐
- 如何关闭windows 2003浏览网页时信任站点添加提示以及解决不能加入可信任的站点
最近由于要测试软件需要在windows 2003环境运行,于是将笔记本安装了windows 2003,安装完后一打开浏览器查询网上信息时,发现IE浏览器总是"不厌其烦"地提示,&q ...
- 浏览安全怎么提升?教你设置安全浏览器信任站点
对于很多人而言,在使用浏览器的时候,都会想要一款清爽干净的浏览器.我们处在信息爆炸的时代,随便打开一个软件,最先看到的就是各种广告推荐,以及娱乐新闻推送,我们偶尔也会被这些信息所吸引.但是很多时候,我 ...
- Android集成三方浏览器之Crosswalk
上一篇讲解了腾讯 X5 内核的集成,这一篇是讲解 Crosswalk 的集成 Crosswalk 也是采用了Chromenium 内核,是一款开源的 web 引擎,开发者可以直接把 Crosswalk ...
- windows客户端通过脚本文件添加信任站点
公司新上线了一个OA系统,需要设置信任站点以及Active加载项才可以正常浏览访问.如果在没有域环境或者有很多分公司,那么通过脚本的方法,让客户端下载后,双击运行便可以设置成功.这样的方式将大大提高用 ...
- 微软与网景与浏览器之争
一 1975年,当微软诞生的时候,比尔·盖茨只有19岁,他的员工只有3个,当年的营业收入仅1.6万美元.让微软腾飞的"决定性产品",便是比尔于1985年推出的Windows(视窗) ...
- IE添加可信任站点,启用ActiveX插件批处理
I添加可信任站点IP地址为:192.168.1.108,启用ActiveX插件执行以下批处理命令: reg add "HKCU\Software\Microsoft\Windows\Curr ...
- 证书问题及门户网站设置为可信任站点
查看电脑证书:win+R 输入certmgr.msc 安装新证书流程: 在所要的网站下载新证书,现在完成后打开会提示安装. 因为新证书是不受信任的,所以要将证书变为受信任状态进入安装流程中有下面一步操 ...
- js设置注册表中ActiveX,并添加信任站点解决IE弹出安全警告
1.确认服务端IP通过js将此IP设置为可信任站点 var WshShell=new ActiveXObject("WScript.Shell"); //添加可信站点或IP Wsh ...
- [转]Android 和 iPhone 浏览器之战,第 2 部分: 为 iPhone 和 Android 构建基于浏览器的应用程序...
简介: 本文是共两部分的系列文章 "Android 和 iPhone 浏览器之战" 的第 2 部分,主要关注为 iPhone 和 Android 开发基于浏览器的应用程序.在第 1 ...
最新文章
- Python基础知识详解
- nagios监控haproxy(借助脚本)
- linnux 流量控制模块tc_可编程控制器PLC基本工作原理(第一颗)
- 微服务如何解决分布式事务
- 一个机械系毕业生的感言
- Hive优化(再一遍系统复习)
- Matplotlib - 柱状图、直方图、条形图 bar() barh() 所有用法详解
- python画一条水平直线(matplotlib)
- tomcat增加处理线程数量
- 我的第一款 Drone 插件
- mysql 5.6.14 winx64_MySQL-5.6.14-winx64的免安装配置方法
- 微信小程序订阅消息:用云服务编写订阅消息超详细描述
- VtigerCRM 点击拨号和来电弹屏 PBX Manager Module
- MySQL关系运算和连接运算,数据库的关系运算和完整性约束
- 计算机系统如何禁止文件删除功能,Win7如何禁止在C盘上安装软件?|win7系统c盘哪些文件是可以删除的...
- md5加密原理!!!【转】
- 10大主流压力/负载/性能测试工具推荐
- 2011-07 《信息资源管理 02378》真卷解析,逐题解析+背诵技巧
- face_detect
- @Transactional 事务注解详解
热门文章
- pytest测试框架详细讲解part01
- python中求两点之间的距离_python – 列表中两点之间的距离公式
- 在家巧用树莓派(广告屏蔽,下载机,NAS服务器,web服务器,私有云)
- C#图像处理程序实现--Canny实现 笔记整理(其中的非极大值抑制点)
- EBS总账(GL)模块常用表
- pytorch实现kaggle猫狗识别(超详细)
- 亚马逊英国站玩具UKCA认证简介
- 【干货】RPA+AI入门必须知道的39个名词
- Web中 C-Lodop 打印常用表单前端排版自定义设置;
- python docx 表格复制粘贴_python-docx修改已存在的Word文档的表格的字体格式方法