【问题标题】:securely transmit password with HTTPS and cookies使用 HTTPS 和 cookie 安全地传输密码
【发布时间】:2012-08-10 02:07:31
【问题描述】:

我对 PHP 比较陌生,所以请多多包涵。我创建了一个使用基本身份验证和 SSL(Apache 服务器)保护的网站。但是,这种情况并不安全,因为用户名和密码是以纯文本形式传输的。我已经考虑过摘要身份验证,但由于不相关的原因,这并不完全可行。

因此,我现在正在考虑对整个站点进行 SSL 加密(已经是这种情况),并使用基于 cookie 的机制进行会话身份验证。我已阅读并(我相信)了解如何使用 PHP 设置和取消设置 cookie 的基础知识,但我找不到一个很好的示例来说明如何实现安全登录机制。然而这一定是一个非常常见的登录场景,因此我认为一些预制的登录页面可能已经可以用于轻松定制。

如果有人能指导我学习如何实现基于 cookie 的安全登录的分步教程,我将不胜感激!非常感谢!

【问题讨论】:

    标签: php cookies ssl login https


    【解决方案1】:

    如果您为整个站点使用 SSL,则用户名和密码不会以纯文本形式传输,而是作为加密连接的一部分。

    结合 SSL 的基本身份验证对于大多数网络应用来说是一种足够安全的设置。

    【讨论】:

    • Codo,感谢您快速正确的回复。但是,我应该提到想让特定用户有条件地访问网站的某些部分。但也许我可以通过在 Apache 中定义多个虚拟服务器来实现这一点 - 还是使用 cookie 机制更好地完成?
    【解决方案2】:

    这里有一些术语混淆。首先,您说通过 SSL 发送密码不安全是不正确的。其次,您将身份验证与授权混淆了。身份验证证明用户就是他所说的那个人。用户名和密码就是这样做的,所以这部分就完成了。此时,您为用户创建一个会话,其中包含他的身份和他可能承担的角色。会话通过 cookie 跨请求保留。然后,当他访问站点的某些部分时,您必须检查他的角色以查看它们是否与您定义为访问该区域所需的角色匹配。您可以通过 Apache 配置完成所有这些工作,而无需编写任何代码。

    【讨论】:

    • 谢谢。我会做我的阅读,并希望实现我的想法!
    猜你喜欢
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多