php – 在Websocket握手上使用会话数据

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 在Websocket握手上使用会话数据脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
如果登录用户导航到要使用WebSockets的站点的某个区域,那么我如何抓住该会话ID,以便我可以在服务器上识别他?

我的服务器基本上是一个无休止的循环,它保存所有连接的用户和信息的信息,所以为了抓住这个id,我认为唯一合适的时刻是握手,但不幸的是握手的请求头不包含cookie数据:

那我该怎么才能抓住这个id呢?我以为我可以以某种方式强制javascript发送cookie数据以及该请求,但任何自尊网站在2014年将拥有httponly会话cookie,以便不会解决.任何帮助是极大的赞赏!

以下是我使用http://www.4shared.com/rar/7RIos1tuce/PHPWebSocket-Chat-master.html服务器文件的下载链接

http只有Cookie以及安全的cookies可以通过websocket正常工作.

某些Websocket模块已经选择忽略请求中的cookie,因此您需要阅读模块的规范.

尝试:websocket节点:https://github.com/Worlize/WebSocket-Node.

确保使用安全的Websocket协议作为wss://xyz.COM

更新:

此外,chrome将不会在“检查元素”网络选项卡中显示Cookie.

在节点尝试转储请求,像:

wsServer.on('request',function(request) {
   console.LOG(request);
   console.log(request.cookies); // works in websocket node
 }

如果您在日志中的某个地方看到cookies,那么您就可以了.

如果您使用的是安全的Cookie,则需要使用安全的Web套接字:wss://

UPDATE2:

cookie在初始请求中传递. Chrome不会显示(始终),因为有时它会显示省略Cookie信息的临时标头.

由websocket服务器来完成与cookies的“某些”,并将它们附加到每个请求中.

看你的服务器的代码https://github.com/Flynsarmy/PHPWebSocket-Chat/blob/master/class.PHPWebSocket.php我没有看到单词“cookie”在任何地方,所以它没有很好的打包和附加到每个websocket连接.我可能错了,这就是为什么你可能想联系开发人员,看看整个标题是否被附加到每个连接以及如何访问它.

这可以肯定地说:如果你使用安全的cookie,那么除非你使用安全的websocket wss://mysITe.com,否则cookies将不被传输.平原ws://mysite.com将无法正常工作.

此外,如果域与网页相同,Cookie将只会在请求中传输.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 在Websocket握手上使用会话数据全部内容,希望文章能够帮你解决php – 在Websocket握手上使用会话数据所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。