【发布时间】:2023-03-15 09:40:02
【问题描述】:
我应该使用什么方法来保持我的用户的登录状态,比如 google 的 gmail? (如果您愿意,您几乎可以无限期地保持登录 - 保持登录功能 - 即使您的 IP 在会话中更改,gmail 仍然可以识别您)。
PHP 会话持续到浏览器关闭(或 1440 秒),即使使用 session_set_cookie_parameters() 我不知道这是否是一个好习惯。我更喜欢使用MySQL 表。一个用于用户登录尝试,一个用于会话,但我想知道我应该如何完成此操作。
如何识别用户? IP不好,可以改,如果用户使用代理怎么办?我想要的只是使用一种安全便捷的方式。
让我们抛开Network Eavesdropping 和Cross-site Scripting,我尽我所能来应对这些攻击。使用登录尝试日志记录将拒绝蛮力攻击,并且我使用准备好的语句来不注入 sql。
我的另一个问题是,如果我想要一个自己的登录系统,如何防止会话劫持?
【问题讨论】:
-
一个会话令牌。但要小心,因为 Firesheeps 令牌的任何人都可以使用它;使用 HTTPS 将解决此问题。看看 Twitter 或 Facebook 做了什么。
标签: php mysql authentication session-cookies