我正在开发一个实时分析应用程序,并使用websockets(通过socket.io库)和nodejs。不会有"敏感"数据通过网络套接字发送(如姓名、地址等)。它将仅用于跟踪访问量和总访问量(以及前10个访问量最大的URL上的访问量)。
有什么安全问题需要我注意吗?我是否向敞开心扉
- DoS攻击
- XSS攻击
- 可用于访问Web服务器/Web服务器局域网的其他安全漏洞
- 还有什么我没有在这里提到的吗
谢谢!
1. DoS attacks?
您正在向DoS攻击敞开大门,如果操作得当,您几乎无法抵御这种攻击。
2. XSS attacks?
如果你不过滤,你很容易受到XSS攻击。我相信你可以用这样的东西来保护自己免受这种伤害:
/**
* Escape the given string of `html`.
*
* @param {String} html
* @return {String}
* @api private
*/
function escape(html){
return String(html)
.replace(/&(?!w+;)/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"');
}
3. Additional security holes that could be used to gain access to the webserver/webserver's LAN?
你应该使用防火墙保护自己免受局域网攻击吗?
4. Anything else I didn't mention here?
- 如果您发送的是敏感信息,您至少应该通过SSL发送。您还应该想出某种身份验证方案
- 也许你很容易被会话固定