security - Websockets、socket.io、nodejs 和安全性

标签 security html node.js websocket socket.io

我正在开发一个实时分析应用程序,并且正在使用 websockets(通过 socket.io 库)和 nodejs。不会有通过 websocket 发送的“敏感”数据(如姓名、地址等)。它将仅用于跟踪访问和总访问者(以及访问量最大的 10 个 URL 上的访问者数量)。

是否有任何我应该注意的安全问题?我是否敞开心扉:

  1. DoS 攻击?
  2. XSS 攻击?
  3. 可用于访问网络服务器/网络服务器的 LAN 的其他安全漏洞?
  4. 还有什么我没有在这里提到的吗?

谢谢!

最佳答案

1. DoS attacks?

您正在对 DoS 攻击敞开心扉,如果它们处理得当,您几乎无法应对这种攻击。

2. XSS attacks?

如果您不进行过滤,您很容易受到 XSS 攻击。我相信你可以使用类似 this 的东西来保护自己免受这种情况的影响。 :

/**
 * Escape the given string of `html`.
 *
 * @param {String} html
 * @return {String}
 * @api private
 */

function escape(html){
  return String(html)
    .replace(/&(?!\w+;)/g, '&')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;')
    .replace(/"/g, '&quot;');
}
3. Additional security holes that could be used to gain access to the
webserver/webserver's LAN?

您应该使用防火墙保护自己免受 LAN 攻击吗?

4. Anything else I didn't mention here?

  • 如果您要发送敏感信息,您至少应该通过 SSL 发送。您还应该想出某种身份验证方案...
  • 也许您可能容易受到 session 固定的影响?

关于security - Websockets、socket.io、nodejs 和安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6362585/

相关文章:

java - 如何使一个函数只能被某些类访问?

java - 无法在 Java 中设置客户端 X509 身份验证

javascript - 如何在md-switch的两侧放置文本?

javascript - Simple WebApp - 通过 HTML/AWS Javascript SDK 将文件上传到 S3

node.js - ZINTERSTORE 与 node_redis 的动态参数

java - 安全性:限制第三方软件的内部访问

php - 导致哈希在一定时间后过期

javascript - 单个容器上的多个下拉列表不会相互干扰

javascript - 在 HTML 选择列表中选择选项时的 HTML 垂直居中选择

javascript - 在 node.js 应用程序中接收 JMS 消息?