Url协议处理程序安全警告

Sta*_*ght 12 ms-office custom-protocol

我有一个自定义url协议处理程序,用于myhandler:// path/to/something形式的url.这是注册到本地安装的客户端应用程序,它处理请求并执行"正确的操作".

但是,当我在outlook(2007)中找到该表单的链接时,outlook会显示一个可怕的警告:

微软办公室发现了潜在的安全问题

这个位置可能不安全......

超链接可能对您的计算机和数据有害.要保护您的计算机,请仅单击来自可信来源的超链接.

你想继续吗?

我知道outlook注册表项可以让我完全禁用这些警告(http://support.microsoft.com/?kbid=925757),但我不想成为机器上的"坏公民" .

有没有办法让我可以"白名单"我的url协议处理程序,以表明我已经完成了应有的安全勤勉,而没有打开对机器上其他URL协议处理程序的访问权限,这些处理程序可能无法加强恶意用户输入?

Outlook不会提示表单的URL http: https: mailto:(也可能是其他URL ).这个列表是硬编码在办公室深处的某个地方还是有某种方法可以将我的特定协议添加到列表中?

Fri*_*Guy 9

看看如何为Outlook 2013执行此操作,我使用@ bmadtiger的答案来确定用于信任单个协议的注册表项的路径.对于Outlook 2013,Policies\Microsoft\Office\15.0\Common默认情况下密钥不存在,因此您必须自己添加密钥.

因此,要信任单个协议,请添加以下密钥:

HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\{version}\Common\Security\Trusted Protocols\All Applications\{protocol}:
Run Code Online (Sandbox Code Playgroud)

{version}Office的内部版本在哪里,是{protocol}您想要信任的协议.

  • Office 2010 {version}14.0
  • Office 2013 {version}15.0
  • Office 2015 {version}16.0

例如,对于Office 2013和协议ttstudio:

KEY_CURRENT_USER\Software\Policies\Microsoft\Office\15.0\Common\Security\Trusted Protocols\All Applications\ttstudio:
Run Code Online (Sandbox Code Playgroud)

如果你正在寻找一个注册表文件,这样做,只需以下内容粘贴到一个.reg文件,改变{version}{protocol}必要,然后执行该注册表文件:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\{version}\Common\Security\Trusted Protocols\All Applications\{protocol}:]
Run Code Online (Sandbox Code Playgroud)

  • 非常有帮助,谢谢!请注意,这里不是 Office 2015,而是 Office 2016。 (2认同)

Lar*_*y K 1

由于您已经在浏览器(但不是 Outlook)中打开 url 时得到了平方结果,所以我的解决方法建议是:

给人们他们所期望的,一个常规的 http url。然后让您的服务器使用特殊处理程序重定向到特殊 url。或者给他们一个文件 url,并让文件内容通过 Javascript 重定向到真实位置。

我相信 Apple 在引用 iTunes 处理的链接时做了类似的事情,例如http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=80028216

此外,此技术还使您能够在浏览器中显示启动页面,其中包含有关在本地计算机上尚未安装/配置软件时该怎么做的说明。