我有一个Node服务器,当它们访问某个url时,它会从外部源接收GET请求。 “ng-dygraph directive”
我想将其发送到只有三个特定IP可以访问该地址并在我的服务器上运行GET的地方。
app.get('/example', function (req,res) {
console.log(req.connection.remoteAccess);
if (req.connection.remoteAccess === 'X' || 'X' || 'X') {
//Do stuff
}
}
我正在尝试这个,但每次外部源点击该URL时我都会获得不同的IP。他们说我得到的那些看起来像内部网络IP,而不是外部。我做错了吗?我只是想让服务器的IP命中该地址并确认它是3个经过验证的IP地址之一。
编辑:所以没有办法真正安全地确认他们的IP?他们还在req.query中发送了一个密钥,它在我的https herokuapp网址上,所以这是一个安全的设置吗?答案 0 :(得分:2)
As Marc said :
app.get('/example', function (req,res) {
var ip = req.headers['x-forwarded-for'];
console.log(ip);
if (ip === 'X' || 'X' || 'X') {
//Do stuff
}
}
But a much better place to do this would be at a firewall level.