我将此代码作为在nginx代理后面运行的nodejs应用程序的一部分:
var ip_address = (request.headers['x-real-ip']);
if (ip_address !== "127.0.0.1") {
var ip = request.headers['x-real-ip'];
console.log(ip);
}
else {
var ip = "173.194.41.100";
console.log(ip);
}
我想要实现的是在我的本地开发机器上,为了测试我使用固定的IP地址,否则它从请求头读取x-real-ip。
我的问题是,有没有办法让这个更全面的证明,例如,有没有办法通过这个循环从而使var ip返回null,这会在我的应用程序上创建追溯?
答案 0 :(得分:0)
我的问题是,有没有办法让这个更全面的证明,例如,有没有办法通过这个循环从而使var ip返回null,这会在我的应用程序上创建追溯?
如果您稍微更改一下,我们可以确定ip
不会null
:
var ip, ip_address;
ip = ip_address = request.headers['x-real-ip'];
if (ip === null || ip === "127.0.0.1") {
ip = "173.194.41.100";
}
console.log(ip);
如果ip
评估为null
,您的原始代码会request.headers['x-real-ip']
null
,因为您的条件(ip_address !== "127.0.0.1"
)将为true
,然后你将request.headers['x-real-ip']
(null
)抓到ip
。
使用上面修改过的代码,我们没有这个问题,我们也能够使它更简洁。