ASP.NET MVC:在不安全的页面上返回对已提交的https表单的不安全响应

时间:2009-10-22 21:33:37

标签: asp.net-mvc forms ssl https

我在不安全的(http)页面中有一个安全的表单(attribute action =“https:// ...”)。目的是安全地传输数据,同时避免由于我的页面上不安全的Google Maps元素而导致混合内容警告(“某些项目不安全”)。

当表单发布并成功时,一切都很好。但是,如果表单失败,我的用户最终会在同一页面上,但现在整个事情都是安全的(并生成混合内容警告)。

如何从表单接受安全输入,如果表单提交失败,仍然会发回相同的不安全页面?

1 个答案:

答案 0 :(得分:2)

在HTTP页面中呈现表单,即使表单指向HTTPS URL,也会破坏SSL的目的。如果您的表单指向HTTPS,则只能通过HTTPS提供。同样,如果它是通过HTTP提供的,它应该只指向HTTP。有关详细信息,请参阅this blog

此外,这些“混合内容警告”错误试图阻止额外滥用SSL,因为您正在访问不受您控制的资源并通过未加密的频道。一旦SSL以这种方式被破坏,攻击者就可能将自己的Javascript注入响应,然后您的页面被SSL加密这一事实是无用的。

简而言之,请确认使用SSL是您的应用程序的严格要求,如果不是,请将其删除。今天的应用程序配置相当于通过HTTP提供所有服务。如果这是不可接受的,请将您的网站划分为使您的网站中引用Google地图的部分与您处理安全交易的网站部分不同。