asp.net-mvc - MVC RequireHttps 属性毫无值(value)?

标签 asp.net-mvc security razor https custom-attributes

我需要允许用户通过我的 asp.net MVC 应用程序中的表单更改密码。我的第一个想法是用 RequireHttps 属性来修饰 ChangePassword 操作。

但是,在属性启动并返回“请求的资源只能通过 SSL 访问”之前,我仍然必须发送未加密的密码。这违背了目的,不是吗?

我确信我只是感到困惑,而且 RequireHttps 很有用;我想知道是否有办法使用 RequireHttps 来实现我的目的。或者,我想知道任何其他方法来实现它。

更新:

由于下面的答案,我现在有了一些选择 - 我可以使用 https 在 iframe 中加载密码输入,这意味着其中的任何帖子都将被加密。否则,我可以在构建帖子 url 的代码中将协议(protocol)设置为 https:

var url = '@Url.Action("changePassword", "Security", new { area = "" }, "https")'

我不确定哪个更好,但我会尝试第二个 - 欢迎任何评论。

最佳答案

您的应用程序无法控制是否启用 SSL。这仅取决于 Web 服务器配置。您唯一能做的就是确保您的应用程序不信任未在网络上加密的数据。 RequireHttps 就是这么做的。用此属性修饰的操作永远不会处理以纯文本发送的数据。

关于asp.net-mvc - MVC RequireHttps 属性毫无值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14143262/

相关文章:

security - 使用另一台服务器存储文件: Good or bad idea?

java - 为什么从远程机器访问时 request.getRemoteAddr().equals ("127.0.0.1")

javascript - 如何在 Highcharts C# 代码中编辑工具提示

javascript - 如何在 asp.net mvc 5 中使用带有 Razor 语法的 jquery?

asp.net - 51°.mobi 的替代品?

安全、密码学 : Stupid Challenge - Response protocol?

c# - MVC 图表仅显示文本流

asp.net-mvc - 安装 Microsoft ASP.NET MVC 固定 DisplayModes 包后出现异常

c# - 将 View 和 Controller 放在与 ASP.NET Core Web 应用程序不同的项目中

asp.net - EF Code First 项目在更改数据库连接后不会创建 AspNetUsers、AspNetRoles 等表