防止跨域websocket请求

时间:2018-04-06 08:46:51

标签: node.js websocket

我在网址上为我的网络应用程序设置了一个websocket服务器:http://example.com:8080当我在服务器上运行它时,它适用于我的域http://anotherdomain.com,但它也适用于其他域{{3} } 我想要的是阻止其他域访问我的websocket,即我希望只有我的域可以访问我的websocket我该怎么办?

我正在使用nodejs的{strong> ws 模块(http://baddomain.com

const WebSocket = require('ws')
const wss = new WebSocket.Server({port:8080})

wss.on('connection', ws => {
    ws.on('message', data => {
        // something here
    })
})

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是检查IP。 您可以从传递给on.connection事件的请求对象中获取它。

wss.on('connection', (ws, req) => {
    ws.on('message', data => {
        let _thisIP = req.connection.localAddress; //you can compare it now
    })
})