如何在node.js中反序列化PHP会话
How to unserialize PHP session in node.js?
我将PHP $_SESSION
数据存储在数据库中。
然后从Node.js服务器获取数据并将其反序列化。
我尝试使用js-php-unserialize,像这样:
con.query('SELECT user_id, data ' +
'FROM sessions ' +
'WHERE session_id = ? AND session_id IS NOT NULL AND user_id IS NOT NULL'
, [tokenId] , function(queryError, rows){
if(queryError){
throw queryError;
}
console.log(rows[0].data);
return;
var data;
if(rows[0]){
data = PHPUnserialize.unserialize(rows[0].data);
var now = Math.floor(new Date() / 1000);
if(data.MA_IDLE_TIMEOUT < now){
throw 'The session Times out!';
}
if(myIP != data.MA_IP_ADDRESS){
throw 'This session have been hijacked!';
}
但是这一直抛出这个错误:
SyntaxError: Unknown / Unhandled data type(s): m
at error (C:'Program Files'nodejs'node_modules'php-unserialize'php-unseriali
ze.js:54:13)
at _unserialize (C:'Program Files'nodejs'node_modules'php-unserialize'php-un
serialize.js:166:11)
at Object.unserialize (C:'Program Files'nodejs'node_modules'php-unserialize'
php-unserialize.js:173:10)
at C:'Program Files'nodejs'app.js:41:25
at Layer.handle [as handle_request] (C:'Program Files'nodejs'node_modules'ex
press'lib'router'layer.js:95:5)
at next (C:'Program Files'nodejs'node_modules'express'lib'router'route.js:13
1:13)
at Route.dispatch (C:'Program Files'nodejs'node_modules'express'lib'router'r
oute.js:112:3)
at Layer.handle [as handle_request] (C:'Program Files'nodejs'node_modules'ex
press'lib'router'layer.js:95:5)
at C:'Program Files'nodejs'node_modules'express'lib'router'index.js:277:22
at Function.process_params (C:'Program Files'nodejs'node_modules'express'lib
'router'index.js:330:12)
这是我试图反序列化的数据:
MA_IP_ADDRESS|s:10:"10.0.4.195";MA_USER_AGENT|s:72:"Mozilla/5.0 (Windows NT 6.1;
WOW64; rv:40.0) Gecko/20100101 Firefox/40.0";MA_IDLE_TIMEOUT|i:1442101764;
如何纠正这个问题?
用.unserializeSession()
代替.unserialize()
相关文章:
- 有没有一个Nodejs库可以序列化和反序列化命名组件的路径(比如URL路径名)
- 是否可以在javascript中反序列化java对象
- 如何在C#中反序列化json对象
- Nservicekit反序列化
- 无法反序列化 java.util.List 的实例VALUE_STRING
- 正在反序列化jQuery.Serialize的结果(到数组,而不是到窗体)
- 使用 JavaScript 进行反序列化
- Three.js-如何反序列化几何体.toJSON()?(几何体.fromJSON在哪里?)
- .NET服务中的JSON反序列化-can'不能解决这个问题
- 如何:从javascript反序列化C#对象
- 护照.js:如何避免序列化和反序列化用户
- 如何在 Express/Node.js 中反序列化 JSON 数据
- 在 javascript 中序列化和反序列化数组
- PHP 反序列化 JS 序列化的变量字符串
- Javascript:反序列化对象和混合方法
- javascript中的JSON序列化和php反序列化
- 如何在node.js中反序列化PHP会话
- PHP反序列化Javascript序列化字符串
- JS反序列化PHP序列化的数组
- 用Javascript反序列化PHP数组