【问题标题】:Nodejs, Socket.io, Redis, Laravel - security?Nodejs、Socket.io、Redis、Laravel - 安全性?
【发布时间】:2015-07-17 14:01:49
【问题描述】:

我的后端使用 Laravel 5.1,同时,我的 Nodejs 服务器纯粹为 socket.io 运行,这仅适用于“新闻”表。

基本上,每次向 mySQL 中的新闻表添加项目时,Laravel 都会广播一个事件,该事件被客户端上的 socket.io 捕获,然后 socket.io 向服务器 API 发送一个 AJAX 调用以检索新闻项目。

我对 Node.js 非常陌生,这是我第一个实际使用它的项目。我正在考虑使用推送器来代替实时更新,但想尝试一些新的东西并进行此设置。

所以我的问题是,在这种情况下 Node.js 服务器的安全性如何?正如我所说,它目前运行一个非常简单的服务器,仅用于 socket.io,没有别的。在应用上线之前我应该​​采取哪些安全措施?

【问题讨论】:

    标签: php node.js sockets laravel-5 real-time


    【解决方案1】:

    如果你只使用 socket.io 并且你在 node 中的后端脚本只调度到套接字(并且没有从前端接收任何数据),你应该没有什么可担心的。你也可以只分派给有 PHP 会话的客户端,为此你可以在 PHP 和 Node 之间使用 Redis。

    【讨论】:

    • 您知道如何使用 Redis 和 NodeJS 确定 PHP 会话是否存在的好教程或示例吗?我已经建立了双向聊天,但我不知道我需要做什么来保护它。使用 Laravel 5 + Redis + NodeJS 构建它。
    • 对不起,我没有。但是你可以做类似的事情(从我的脑海中):生成一个随机字符串并将其保存在会话和 redis 中。当您的节点客户端连接到节点服务器时,期望传递随机字符串。检查组合随机字符串+ ip是否在节点的redis中,然后允许套接字发送/接收。
    猜你喜欢
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 2018-01-16
    • 2015-07-11
    • 2012-09-17
    • 1970-01-01
    • 2018-06-24
    相关资源
    最近更新 更多