Node.js Socket.io-如何在服务器端获取客户端URL请求?
在我的app.js(服务器)中,我需要知道请求来自哪里(URL) 目前,我正在将URL作为参数从客户端传递:Node.js Socket.io-如何在服务器端获取客户端URL请求?,node.js,sockets,socket.io,Node.js,Sockets,Socket.io,在我的app.js(服务器)中,我需要知道请求来自哪里(URL) 目前,我正在将URL作为参数从客户端传递: socket.emit('request', window.location.href); 并在服务器端进行处理 socket.on('request', function(url){ console.log(url); ... }); 但这显然是有风险和不安全的(客户端可以向服务器发送任何东西) 所以我猜。。是否可以仅在服务器端获取URL参数?可能是从套接字对象?获
socket.emit('request', window.location.href);
并在服务器端进行处理
socket.on('request', function(url){
console.log(url);
...
});
但这显然是有风险和不安全的(客户端可以向服务器发送任何东西)
所以我猜。。是否可以仅在服务器端获取URL参数?可能是从套接字对象?获取连接URL
io.sockets.on('connection', function(socket) {
console.log("url: " + socket.handshake.url);
});
这将返回如下内容:
url:/socket.io/1/?t=1407807394827
对于整个url,您可以使用socket.handshake.headers.referer
io.on('connect', (socket) => {
console.log(socket.handshake.headers.referer);
});
socket.request.headers.origin
这将返回域连接对于跨域连接,它会返回类似于www.example.com/socket.io/1/?t=1407807394827的内容吗?