我想知道如何才能保护我的socket.io连接到服务器从下面。Socket.io安全问题
安全问题:
- 什么会从通过客户端代码连接到插座服务器阻止恶意用户?
实施例:
OUTSIDE DOMAIN REQUEST var socket = io.connect('http://Mydomain', {port: 4000});
- 用户可以仅仅通过打开不同的浏览器窗口看似创造数千个并发连接。
如何防止这些问题?
我想知道如何才能保护我的socket.io连接到服务器从下面。Socket.io安全问题
安全问题:
实施例:
OUTSIDE DOMAIN REQUEST var socket = io.connect('http://Mydomain', {port: 4000});
如何防止这些问题?
您应该能够检查服务器端HTTP引荐来源是否正确。检查socket.io规范中有关http引用以及握手的信息。
https://github.com/socketio/socket.io-protocol
另外0.8具有引荐验证。还没有使用过它,但是这可能是开始寻找一个地方:
谢谢,但如果有多个来自同一用户的连接呢? – Trevor
那么,如果你的(真实的)客户来自一个知名的位置,你可能想要阻止其他人在防火墙级别。假设你的服务对每个人都可用,你可以看看客户端 - 服务器握手机制。
看看https://github.com/LearnBoost/socket.io/wiki/Authorizing并检查用户的地址(IP)和头文件请求通过socket.handshake或全球授权 –