【问题标题】:Session_start SecuritySession_start 安全性
【发布时间】:2017-08-09 14:57:06
【问题描述】:

我正在开发一个登录系统,一旦用户登录,它就会为用户创建一个会话。我正在尝试使系统尽可能安全。我发现一些资源声称session_start() 本身是不安全的,并建议采取额外措施来保护它。请参阅:How to create bulletproof sessionsSecure login system with PHP and MySQL。我玩过 WireShark,发现当我使用 HTTP 连接时找到登录凭据(通过 POST 发送)和 cookie 是多么容易。我让网站自动重定向到 HTTPS,现在我找不到凭据(旁注:“加密握手”是什么意思?)。我看到了this 的帖子,上面写着

没有安全 cookie 之类的东西,除非它仅通过 SSL 传输。

所以这让我认为使用 HTTPS 就足以实现安全的登录系统。使用session_start() 并且只有在我使用HTTPS 连接后才安全,还是需要添加进一步的安全措施?

【问题讨论】:

    标签: php security session cookies https


    【解决方案1】:

    HTTPS 和 session_start() 解决了两个不同的问题。 HTTPS 防止middle man attacks 的概率。会话在哪里管理哪个用户有凭据可以做什么(以及什么用户)。在破解 PHP 会话时,通常是通过蛮力或通过浏览器导出或通过受感染的计算机来完成的。 PHP 是一个开源项目,这意味着任何人都可以查看他们在创建会话时使用的算法。黑客使用它来排除所有不必要的检查可能性并根据会话入侵某人。创建自己的网站会使您的网站更难被黑客入侵(假设您的 id 足够长等等)话虽如此,除非我正在编写银行网站,否则我不会打扰。

    【讨论】:

    • 感谢您的回复。只是为了确保我理解正确:如果有人可以访问会话 ID,他们可以假装是那个用户。这是通过蛮力攻击来尝试猜测会话 ID 来完成的。因为我的用户数据不是太敏感,所以我只使用 session_start 就足够了。如果我想添加一些额外的保护,我将不得不更广泛地生成 id。我做的一切都正确吗?
    • 是的,但是当我说会话 id 时,我指的是由 PHP 会话设置的所有 cookie。
    • 知道了。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    • 2014-09-13
    • 2010-09-30
    • 2017-04-29
    • 2011-04-21
    • 2012-10-30
    相关资源
    最近更新 更多