gpt4 book ai didi

security - 自动登录最佳实践

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

我正在开发一个网络应用程序,它会向用户发送电子邮件通知以完成类(class)/教程。我添加了通过该电子邮件中的链接自动登录用户的功能。此功能已添加到 Internet 上的多个服务中,其中最著名的是 OkCupid。

这是我设置 table 的方式:

+----+-------------+-------------------+-----------+--------------+----------------------+
| id | key (22) | secret (40) | user_id | action | expires |
+----+-------------+-------------------+-----------+--------------+----------------------+
| 1 | IbQlQW8Dn...| hdC4dXQJUPA0... | 1 | lesson/14 | 2013-06-21 16:28:55 |
+----+-------------+-------------------+-----------+--------------+----------------------+

当用户通过电子邮件访问链接时,例如:
http://example.com/go/IbQlQW8Dn8PNXJFFwHQxwh/hdC4dXQJUPA0pU7I6eUiXawbnobYv0iThA
[http://example.com/go/ key/ secret ]

服务器首先根据表中的日期检查 url 是否过期。如果没有过期,用户会使用 user_id 自动登录。然后重定向到 action 中的给定 url柱子。我为 url 使用了两个单独的值( keysecret )只是为了增加安全性(防止 fusking)。

现在由于网站的性质(视频类(class)),安全性不是一个大问题,但我仍然想知道要考虑哪些最佳实践。
  • 我应该限制链接的使用次数吗?
  • 目前我的链接在 60 小时(3 天)后过期
    电子邮件已发送。这个应该降低吗?
  • 未经授权访问的两个明显风险包括有人转发电子邮件或有人获得对用户电子邮件帐户的访问权限。还有什么要考虑的吗?

  • 感谢大家的见解,如果这应该移动到 StackExchange 的另一个部分,请告诉我。我知道我过去在这里看到过其他最佳实践帖子。

    最佳答案

    发送自动登录链接的风险与在电子邮件中发送密码重置链接的风险非常相似,许多网站都这样做。

    这是你必须做出的判断。人们没有一个共享的决策矩阵来决定什么是可接受的风险,什么不是可接受的风险。您在这里所做的更多是一项业务决策,您正在权衡安全风险与易用性(这可以转化为更多用户和更多业务)。

    您需要提问 “如果这个功能被滥用,在网站可用性、商业信誉和用户体验方面绝对最糟糕的事情是什么?” .

    您应该关注的其他事项:

  • 人们从共享 wifi 网络中提取您的自动登录链接
  • 自动登录链接最终出现在您的服务器和客户端之间的代理日志中

  • 我建议使链接仅供一次性使用或保持较短的过期时间。您还应该进行监控,如果链接被过度使用,则会发出警报。

    您还应该确保在获取 secret 并查询数据库时不会受到 SQL 注入(inject)的影响。

    关于security - 自动登录最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17415571/

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