在我的app.js(服务器)中,我需要知道请求来自哪里(URL)。
目前,我已将URL作为参数从客户端传递:
socket.emit('request', window.location.href);
并处理服务器端
socket.on('request', function(url){
console.log(url);
...
});
但这显然存在风险和不安全(客户可以向服务器发送任何内容)。
所以我猜...是否有可能只在服务器端获取URL参数?也许来自socket对象?
答案 0 :(得分:0)
获取连接网址
io.sockets.on('connection', function(socket) {
console.log("url: " + socket.handshake.url);
});
这将返回类似:url: /socket.io/1/?t=1407807394827
答案 1 :(得分:0)
对于整个URL,您可以使用socket.handshake.headers.referer
io.on('connect', (socket) => {
console.log(socket.handshake.headers.referer);
});
答案 2 :(得分:0)
socket.request.headers.origin 这将返回域连接