如何在Internet Explorer中将URL添加到受信任区域?

时间:2010-03-18 15:22:07

标签: c# asp.net internet-explorer trusted-sites

如何将URL添加到受信任的站点?似乎存储在注册表中,但究竟在哪里?
到目前为止我用谷歌搜索的提示都没有帮助。

.net程序将在每个客户端本地运行。

编辑说明:我想以编程方式运行C#代码。

7 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

以下内容应该为您提供在代码中执行此操作的方法...

http://blogs.msdn.com/ie/archive/2005/01/26/361228.aspx

答案 2 :(得分:1)

在CodeGuru论坛上查看solution

总之,这段代码使用的是COM库,你说的是你想要避免使用的库。但是,这种情况没有解决方法。另外需要提一下的是,这段代码是用C ++编写的,就像编写它的人CorithMartin一样,从C#移植它。

#include "windows.h"
#include "stdafx.h"
#include "urlmon.h"
#using <mscorlib.dll>
#include <atldef.h>
#include <atlconv.h>
using namespace System;
using namespace System::Runtime::InteropServices;
#define MAX_LOADSTRING 100

int _tmain(int argc, _TCHAR* argv[])
{
    // constants from urlmon.h
    const int URLZONE_LOCAL_MACHINE = 0;
    const int URLZONE_INTRANET = URLZONE_LOCAL_MACHINE + 1;
    const int URLZONE_TRUSTED = URLZONE_INTRANET + 1;
    const int URLZONE_INTERNET = URLZONE_TRUSTED + 1;
    const int URLZONE_UNTRUSTED = URLZONE_INTERNET + 1;
    const int URLZONE_ESC_FLAG = 0x100;
    const int SZM_CREATE  = 0;
    const int SZM_DELETE  = 0x1;

    HRESULT hr;
    IInternetSecurityManager *pSecurityMgr;
    LPCWSTR sites = SysAllocString(L"http://*.mydomain.com");

    CoInitialize(NULL);

    hr = CoCreateInstance(CLSID_InternetSecurityManager, NULL, CLSCTX_INPROC_SERVER, IID_IInternetSecurityManager, (void**)&pSecurityMgr);

    pSecurityMgr->SetZoneMapping(URLZONE_TRUSTED, sites, SZM_CREATE);

    pSecurityMgr->Release();

    return 0;
}

答案 3 :(得分:1)

确实存在于注册表中,并在那里进行了描述:

http://msdn.microsoft.com/en-us/library/ms537181%28VS.85%29.aspx

谨防Vista中的UAC。处理真的很痛苦。

答案 4 :(得分:1)

Powershell的

#Setting IExplorer settings
Write-Verbose "Now configuring IE"
#Add http://website.com as a trusted Site/Domain
#Navigate to the domains folder in the registry
set-location "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
set-location ZoneMap\Domains

#Create a new folder with the website name
new-item website/ -Force
set-location website/
new-itemproperty . -Name * -Value 2 -Type DWORD -Force
new-itemproperty . -Name http -Value 2 -Type DWORD -Force
new-itemproperty . -Name https -Value 2 -Type DWORD -Force

答案 5 :(得分:0)

要添加新的受信任区域,它会在路径上创建区域注册表项和文件夹 HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ ZoneMap \ Domains 对于每个域,它创建一个新的 域名密钥(sample.com) 这个子域下的新密钥(www) 在这个下面有一个新的REG_DWORD,带有该方案的名称(http或https) 在十六进制上的值为2,就是这样,你完成了它

答案 6 :(得分:0)

这是一种简化流程的方法。

  1. 创建.exe以请求域(文本框),指定 提供者(如复选框:All,http,https,ftp)单击“将站点添加到 “可信站点”然后执行以下操作:
  2. 在C:上创建一个临时文件夹:“C:\ TempTS \”
  3. 创建一个与此类似的.bat文件(“C:\ TempTS \ AddTrustedSites.bat”):
  4.   

    设置regFile =“C:\ TempTS \ AddTrustedSiteTS.reg”

         

    ECHO Windows注册表编辑器版本5.00&gt; %REGFILE%

         

    ECHO [HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet   设置\ ZoneMap \ Domains \ MySecureDomain.com \ www]&gt;&gt; %REGFILE

         

    ECHO“https”= dword:00000002&gt;&gt; %REGFILE%

         

    regedit / s%regFile%

         

    DEL%regFile%

    对于检查的每个提供商,可以重复 ECHO [HKEY_CURRENT_USER ... ECHO“https”... 行。对于“ALL”提供程序,请使用星号代替“https”,如下所示:

      

    ECHO [HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet   设置\ ZoneMap \ Domains \ MySecureDomain.com \ www]&gt;&gt; %REGFILE%   ECHO“*”= dword:00000002&gt;&gt; %REGFILE%

    使用此调用运行.bat文件:

      

    <强> System.Diagnostics.Process.Start( “C:\ TEMPTS \ AddTrustedSites.bat”)

    运行.bat文件后(仅需几微秒),删除bat文件和tempTS目录。

    MacSpudster

    (a.k.a.GNoter,TechStuffBC)

    =========================

    信用到期的信用:

      

    regedit / s AddTrustedSite.reg

         

    “/ s”将禁止确认对话框

         

    http://www.computerhope.com/registry.html

    也:

      

    请参阅http://www.computing.net/answers/windows-xp/bat-file-to-add-trusted-site-in-ie/139995.html