gpt4 book ai didi

asp.net-mvc - 混合 http/https 站点

转载 作者:行者123 更新时间:2023-12-04 12:02:09 24 4
gpt4 key购买 nike

到目前为止,我的 https 部署通常涉及使用 https 对整个站点进行简单锁定,并在 Web 服务器上提供 http 到 https 的重定向。

我现在计划拥有一个 ASP.NET MVC 站点(在云上),其中包含 http 和 https 页面。因此,该站点将有 2 个概念(非物理)区域,提供安全和非安全请求。

在配置方面,我已经为 80 和 443 设置了输入端口,并且该站点接受这两个请求。

对于任何前往属于安全区域的操作的调用,有什么方法可以将协议(protocol)翻转为 https?例如, Action 过滤器可以做的事情。

非常感谢。

编辑: 请注意,整个想法是为了避免在表单操作属性上使用绝对 URL,因为可移植性问题以及用户将看不到 https://确保浏览器上的视觉提示。

P

最佳答案

您可能想看看 Microsoft 的 MVC futures 程序集 available for download here.

它有一个 FilterAttribute,RequireSslFilterAttribute,允许您轻松标记 Controller 中需要 SSL 的 Action 方法 - 例如

[RequireSsl(Redirect=true)]
public ActionResult LogOn()
{
return View();
}

可选的重定向参数将导致请求重定向到相同的 URL,但如果需要,则通过 https 而不是 http。

警告:正如丹尼尔指出的那样,当您点击此操作时,如果数据已发布到页面的非安全版本,则可能已经为时已晚 - 它已经可能受到损害,因此您仍然需要小心谨慎使用此功能时,请确保所有敏感数据均通过 https 发送。 (我刚刚注意到你对丹尼尔的评论,你显然明白这一点,我会在这里为任何偶然发现这一点的人留下警告!)

编辑:正如 Luke 指出的,在 MVC2 中,此属性现在是核心框架的一部分,并重命名为 [RequireHttps]

关于asp.net-mvc - 混合 http/https 站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/761704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com