【问题标题】:PHP: Best way to store a session using PDOPHP:使用 PDO 存储会话的最佳方式
【发布时间】:2014-04-30 05:27:08
【问题描述】:

我正处于我的基于 PHP 的项目中,我需要为用户登录存储一个会话。我也在使用 PDO。

我想知道解决这个问题的最佳方法是什么。我已经读到,如果您只是使用 PHP 的原生 $_SESSION 变量和 serialize 将它放入一个数组中,您将失去随后使用通过序列化创建的数组查询数据库的能力。

另一方面,未序列化的$_SESSION 存在重大安全风险。

在此处查看此答案Is serialize data dangerous with PDO

所以我想知道我还有哪些其他选择?我可以创建一个自定义类函数吗?基于 PDO、安全且允许未来数据库查询的最佳解决方案是什么?

【问题讨论】:

    标签: php mysql session


    【解决方案1】:

    只需使用 PHP 的原生 $_SESSION。就是这样。

    你所有的恐惧都是没有根据的。

    看。在阅读了很多问题之后,你已经把所有的东西都混在了你的脑海中——会话、PDO、序列化、安全性。虽然简单的事实是:PHP 的原生 $_SESSION 是完全安全 - 否则它就没有任何意义。是的,总有一些细微差别。但是从你的第一次会话开始,你应该只使用本地实现,来学习它,让自己熟悉它,让自己最终理解它。

    【讨论】:

    • 非序列化的 $_SESSION 不是不安全的吗?
    • 好吧,在那种情况下写一个会话类
    • 您总是可以设置一个 MD5 会话变量。 :P
    • @user3143218 来吧,在您要求的级别上它是完全安全的。坦率地说,您几乎无法理解您使用的每个术语 - 因此,解释这项任务非常繁琐。保持会话不变,不要担心。
    • 这其实是个笑话
    猜你喜欢
    • 2012-09-09
    • 2010-09-15
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    相关资源
    最近更新 更多