【问题标题】:safest way of sending username + password when $_GET is my only option当 $_GET 是我唯一的选择时发送用户名 + 密码的最安全方式
【发布时间】:2012-01-13 20:33:48
【问题描述】:

我正在制作游戏,我只能请求页面。 eg.(login.php?username=myuser&password=mypass)

游戏也可以从 php 接收结果。

此时密码已加密。实现安全登录方法的最佳方法是什么?

谢谢

【问题讨论】:

    标签: php mysql ajax post get


    【解决方案1】:

    使用 SSL。这将通过网络加密密码。

    也不要发送原始密码。散列并发送散列。

    这仍然不会为您提供很大的安全性,因为散列密码仍将保留在浏览器历史记录中,并可能用于重放攻击。您可以通过使用质询-响应机制来缓解这种情况。让服务器在登录页面中包含一个大的随机字节序列(一个随机数),然后客户端可以用这个随机数对密码哈希进行异或并发送结果。服务器可以应用相同的异或来获得原始哈希。

    SSL 将防止窃听,发送散列将使临时攻击者的事情变得更加困难,并且随机数将防止重放。这可能不是一个完整的清单,但这是一个开始。

    【讨论】:

    • 反对的选民愿意发表评论吗?我想知道您为什么认为使用 SSL 是个坏主意。
    • 感谢您的好评!我会尽快拿到 ssl 证书
    猜你喜欢
    • 1970-01-01
    • 2012-05-15
    • 2016-03-15
    • 2013-12-15
    • 2013-11-06
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    • 2015-11-13
    相关资源
    最近更新 更多