【问题标题】:Postback for Passwords in Cleartext?在明文中回发密码?
【发布时间】:2013-10-04 06:52:57
【问题描述】:

我刚刚开始从 AspNet.Identity 的登录页面处理 aspx web。 我有我的字段、用户名和密码 (textmode="Password") 和一个提交按钮 (asp:button) 像往常一样用我的代码在后面进行登录等。

我的问题是,当我的用户点击提交时,密码是如何发送到服务器的?我是否需要使用 SSL 以确保密码不会以明文形式发送?

编辑 StackOverflow 的登录页面没有通过 HTTPS - 他们(以及其他不使用 HTTPS 的网站)如何管理密码传输?

【问题讨论】:

  • 是的。发布到 am https 地址将加密所有内容,包括密码。

标签: asp.net


【解决方案1】:

可以说从浏览器提交的所有数据都是以明文形式发送的(也就是说,浏览器本身都不会对其进行加密,当数据到达您的服务器端脚本时也不需要解密)。所有加密(如果有)都在协议级别执行。

普通 HTTP 不会对通过它发送的任何信息进行加密,因此可以进行简单检查(中间人攻击、窃听)。另一方面,HTTPS 在原本不安全的网络上创建了一个安全通道,并且可以很好地防止上述攻击。

需要注意的是使用GET 向服务器发送数据。这些信息很容易出现在服务器日志中。

【讨论】:

    【解决方案2】:

    取决于form 方法GETPOST 值被发送到服务器。

    默认情况下,在 asp.net 中,form 方法是 POST,因此它在请求正文中发送。

    如果表单方法是GET,那么它在url中发送。

    编辑 1

    当您使用 HTTPS 时,channel 是安全的。但有时它可能会比HTTP 慢,因为HTTPS 需要初始握手,这可能非常慢。

    一些有用的链接
    Difference between http and https
    HTTP vs HTTPS performance

    【讨论】:

      【解决方案3】:

      主要问题是,如果有人能够监听从您的客户端到您的服务器的流量,那么他们也将能够操纵您的服务器发送给客户端的内容。这个问题会使所有试图做一些 javascript 魔术来隐藏它的尝试都无效。

      也就是说,暂时只有 SSL 可以帮到你。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-19
        • 2019-01-02
        • 2016-06-30
        • 2015-09-21
        • 1970-01-01
        相关资源
        最近更新 更多