问题描述
我的PC上运行了node.js,我正试图通过Tor访问我的PHP站点。
我在Mac上安装了Tor,配置了..并可以开始使用:
- ✅ControlPort
- ✅HashedControlPassword
- ✅HiddenServiceDir / HiddenServicePort
- ✅每个请求的RefreshTorSession
- ✅torrc(配置)已启用
这是我的node.js脚本,我希望在其中隐藏我的IP:
var tr = require('tor-request');
tr.TorControlPort.password = '****'
tr.setTorAddress('localhost',9050);
function run() {
tr.newTorSession( (err) =>
{
requestIP();
return;
});
}
function requestIP() {
tr.request({
url: "https://api.ipify.org",// when change to my PHP site.. IP still detected
headers: {
'user-agent': 'meo'
}
},function(err,res,body) {
if (res.statusCode == 200) {
console.log("Your public (through Tor) IP is: " + body);
} else {
console.log('error ' + err);
}
})
}
run();
function getRealIpAddr(){
if ( !empty($_SERVER['HTTP_CLIENT_IP']) ) {
// Check IP from internet.
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']) ) {
// Check IP is passed from proxy.
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
// Get IP address from remote address.
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
检查我的示例node.js脚本,您将看到我调用api.ipify.org ..结果是预期的(IP更改)。当我尝试访问存储IP访问者的PHP网站时出现问题。我正在使用相同的node.js脚本..我看到我的真实IP已作为IP列表被跟踪到那里,我认为这是HTTP_X_FORWARDED_FOR
事实证明,HTTP_X_FORWARDED_FOR有时有时会带有逗号 分隔的IP地址列表-因此我们实际上需要 在执行我们的操作之前,先获取该列表中的最后一个IP地址 转换为整数。
当通过Tor网络通过node.js调用PHP时,我需要解决此问题并隐藏我的IP。 奇怪的是,当我使用Tor浏览器调用PHP时,它可以正常工作!!! Tor上是否有任何高级设置可以完全隐藏我的IP?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)