Asp.net 自动取消阻止从网站下载的可执行文件

Asp.net 自动取消阻止从网站下载的可执行文件,asp.net,windows,web,windows-security,Asp.net,Windows,Web,Windows Security,我有一个网站(intranet),允许您下载用ASP.Net编写并使用https的可执行文件(目前是一个.Net控制台应用程序) 然而,在许多机器上,我无法在下载后立即运行它-我需要右键单击它,转到属性并单击取消阻止,这会让使用此应用程序感到不舒服(用户通常必须下载此可执行文件并运行-每次生成代码时它都是新的) 有没有办法让这个可执行文件自动解锁?修改客户机不是一个选项,但我可以对服务器做任何事情 从一开始我就认为这是不可能的,因为这是一种安全保护,但Chrome不知怎么做到了这一点。如果我买了

我有一个网站(intranet),允许您下载用ASP.Net编写并使用https的可执行文件(目前是一个.Net控制台应用程序)

然而,在许多机器上,我无法在下载后立即运行它-我需要右键单击它,转到
属性
并单击
取消阻止
,这会让使用此应用程序感到不舒服(用户通常必须下载此可执行文件并运行-每次生成代码时它都是新的)

有没有办法让这个可执行文件自动解锁?修改客户机不是一个选项,但我可以对服务器做任何事情

从一开始我就认为这是不可能的,因为这是一种安全保护,但Chrome不知怎么做到了这一点。如果我买了一台安装了IE的新电脑,在Bing中输入Chrome并安装它——我不需要解锁可执行文件


到目前为止,我只在W10 Chrome和IE上进行了测试,但我很确定旧版Windows也有这个问题

显示不可信可执行文件对话框的机制基于备用数据流。当您从网络源下载某些内容时,Windows或浏览器会添加元数据,因此您的文件/Web服务器不可能影响此行为。另一方面,Windows有一个规则集,用于应用可在Internet选项的信任区设置中找到的标志

NTFS有一个简洁的小功能,允许一个文件有多个内容,也称为备用数据流。这是一个仅限于NTFS的功能,因此在其他分区类型上找不到它。这基本上允许您在文件中存储更多用户看不见、标准windows用户无法轻松找到的数据。Windows使用这些备用数据流来标记文件的来源,尤其是从内部网或内部网下载时。用于此数据的备用数据流称为“Zone.Identifier”,并保存文件从中复制的区域的ID。当您决定信任某个文件时,您基本上会告诉Windows删除该数据流

Windows使用不同区域的概念对这些文件进行分类。Windows总共知道四个区域:Internet、Intranet、受信任的站点和受限制的站点。您可以在“信任区域”选项卡的“Internet选项”对话框中更改这些设置和规则


<强>安全备注:< /强>在更改公司信任区的设置之前,考虑这三次的安全风险。因为它将允许执行来自这些已验证源的任何可执行文件,这可能会为恶意可执行文件铺平道路,而恶意可执行文件可由已感染的PC或用户自己启动。

解决此问题的正确方法是使用受信任且有效的可执行文件签名,这比使用EV(扩展验证)更好。Windows将在您运行文件时检查证书,并允许它运行,而无需进一步操作,因为它是使用受信任的证书签名的。

如果先压缩证书,会怎么样?@VDWWD这会迫使用户执行其他操作-解压缩。这与他们必须转到
属性
-
取消阻止
的情况类似。从我在网上找到的信息来看,压缩文件仍然需要解锁。我看到了更改扩展名并要求用户重新命名的建议,但这比要求取消扩展名更糟糕。如果Chrome下载行为不同,这将是一个硬编码的异常,或者是基于声誉的决定。您无法从服务器端复制它。但我认为没有必要显式地取消阻止该文件;如果你双击它,你会不会得到提示你是否想运行它?@HarryJohnston这是可能的,但我有疑问。微软并不以支持竞争对手而闻名,我几乎不相信他们会乐意使用IE来帮助安装Chrome(有多少IE只是为了安装Chrome?:),但你可能仍然是对的。至于提示-这很奇怪,但您没有收到提示。当您运行可执行文件时,不会发生任何事情,除非您首先取消阻止它。我运行它而不取消阻止的唯一方法是首先运行
cmd
,然后从中运行console应用程序。这可能是我使用的一台测试机器的问题,我将尝试另一种方法。假设Chrome可能是一个硬编码的例外,作为防止进一步反垄断诉讼的先发制人的措施,这似乎是合理的,但总的来说,我认为更可能是微软的Smartscreen(或类似的基于声誉的技术)在做它的事情。我想您可以尝试获得一个扩展验证码签名证书,看看这是否有什么不同。不过这是一个昂贵的实验!你不认为这个建议会削弱询问者组织的整体安全吗?嗯,没想过。我再补充一句。对于询问者来说,这似乎不是一个问题。在他的内部网中,这已经被公司IT禁用,只有他的网站(位于内部网内)被错误地归类为互联网来源。