【发布时间】:2013-10-05 11:22:07
【问题描述】:
我一直在尝试使用 phpserialize 和 serek's 模块(从 Unserialize PHP data in python 获得)在 Python 中反序列化 PHP 会话数据,但似乎不可能我。
两个模块都希望 PHP 会话数据类似于:
a:2:{s:3:"Usr";s:5:"AxL11";s:2:"Id";s:1:"2";}
但是session文件中存储的数据是:
Id|s:1:"2";Usr|s:5:"AxL11";
非常感谢任何帮助。
【问题讨论】:
-
使用 phpserialize 我曾尝试执行以下操作:
>>> loads('a:2:{s:3:"Usr";s:5:"AxL11";s:2:"Id";s:1:"2";}'){'Usr': 'AxL11', 'Id': '2'}如您所见,这是可行的,但我的真实 PHP 会话数据存储在文件中:>>> loads('Id|s:1:"2";Usr|s:5:"AxL11";')我在 _expect 中的 phpserialize.py",第 444 行得到一个 ValueError -
在我的 php.ini 文件中,我有以下内容: session.serialize_handler = php 更多信息在link
-
在 Google 上到达第 3 页后,我发现原始 phpserialize 的 fork 与我提供的字符串一起使用:
>>> loads('Id|s:1:"2";Usr|s:5:"AxL11";'){'Id': '2', 'Usr': 'AxL11'}
标签: php python session serialization