php和node.js之间的身份验证
我有一个用php编写的web应用程序,并计划在其中添加聊天功能。我决定使用node.js,因为它似乎非常适合这项工作,而php在这方面有点糟糕 在某些时候,我需要确保对socket.io服务器的请求是合法的。我需要确保请求来自php生成的页面。为了保持简单,我想出了这个主意。好的,那么客户端/服务器进程将是:php和node.js之间的身份验证,php,node.js,security,socket.io,Php,Node.js,Security,Socket.io,我有一个用php编写的web应用程序,并计划在其中添加聊天功能。我决定使用node.js,因为它似乎非常适合这项工作,而php在这方面有点糟糕 在某些时候,我需要确保对socket.io服务器的请求是合法的。我需要确保请求来自php生成的页面。为了保持简单,我想出了这个主意。好的,那么客户端/服务器进程将是: 客户端打开网页,php接收请求。Php创建某种类型的散列,并通过GET联系节点http服务器。这是我想简单地curl 127.0.0.1并传递hash,但不确定在apache已经运行的情况
- +快速
- +您应该在一个地方实现令牌创建机制
- -在某些情况下,所有代币可能会丢失
$token = some_special_hash_not_md5_not_sha1(
$userID . $server_side_super_safe_salt);
通过cookies令牌和用户标识发送
在节点端检查此令牌是否有效
- +无分贝
- -必须在节点和php上找到生成相同签名的函数
- -如果你想创建安全的代码,你必须对加密有很多了解
some_special_hash_not_md5_not_sha1()
我建议将令牌存储在db表中(可能是用户表上的令牌列),然后将令牌发送给用户。现在,当用户连接到node.js时,令牌将被发送,node.js将使用users表验证它。设置中的一个问题是,如果节点服务器重新启动或诸如此类,用户令牌将丢失。将它们连接到nodeph like