gpt4 book ai didi

php - 将身份验证凭据作为 GET 参数发送时的安全问题

转载 作者:行者123 更新时间:2023-12-02 06:58:25 26 4
gpt4 key购买 nike

我通过向他发送带有他的登录名/密码的直接链接来对用户进行一些身份验证,以便他能够按下它并通过 URL 中的 GET 参数登录。

例如:http://example.com/index.php?r=site/login&p=password&email=igor.savinkin%40gexample.com

我的问题是关于安全问题。如果有人将网络嗅探器与互联网线路并行放置,从而复制凭据或获取缓存数据怎么办?我用的是Yii框架,所以安全维护还是不错的;登录最初是通过 POST 参数完成的。我听说过 POST 与 GET 请求:

  • 在处理敏感数据时使用 POST。
  • 使用 GET 进行安全操作,使用 POST 进行不安全操作。

最佳答案

不要在 url 中使用密码!

这真的很糟糕,任何嗅探(或监控)流量的人都可以获得密码。另外,任何有权访问电子邮件收件箱的人都会知道密码。

另一种方法是使用仅有效一次的 token 。在发送邮件之前,您会生成一个与用户电子邮件地址相关联的唯一 token 。

你会有这样一个 url

http://hostname.com/index.php?r=site/login&token=544a0a62e280e3.83969641&email=igor.savinkin%40gmail.com

当用户使用你的url时

  • 检查提供的 token 是否与您数据库中的 givn 地址相关联
  • 丢弃 token 以确保没有人会使用相同的 url 登录。

最好是不提供任何使用给定 url 登录的方法。因为我假设您将通过电子邮件发送链接,而 SMTP 协议(protocol)并不安全。

关于php - 将身份验证凭据作为 GET 参数发送时的安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26543879/

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