迁移后发现记录的 IP 地址不正确.

phpBB 3.1.X 相关的使用、安装等话题
版面规则
《发帖时,请复制下列格式文本,提供完整的信息,勿简略发布》


###### 以下为“基本的提问格式” ######
  • 主机操作系统: Windows (XP, 7, 8, 10)、Linux(Redhat,Centos, Mandrake等等)、或者其他的(请务必注明版本)
  • 快速架站程序: AppServ、XAMPP 等等(请务必注明版本号)
  • 您的上网方式:ADSL、Cable、FTTB等等 (请务必留下 ISP 名称或 ISP 官网)
  • 您安装的程序: Apache + php + MySQL 或者其他的组合 (请务必留下版本号,如果使用上面的快速架站程序就不必写了)
  • 您的 phpBB 版本: phpBB 3.1.8
  • 您的域名: 比如 phpbbchinese.com
  • 您的 phpBB 网址: 比如 https://www.phpbbchinese.com/
###### 以上为“基本的提问格式” ######

  • 安装扩展: 请注明安装扩展的名称,版本以及参考链接(非扩展问题免填)
  • 安装风格: 请注明安装的风格名称,版本以及参考链接(非风格问题免填)
  • 错误代码: 请使用 Code 标签将错误代码标识出来,如下:

代码: 全选

错误代码
  • 错误状态:如果没有错误代码,请直接贴出截图,或者是详细叙述错误状态内容。
备注:
如果需要,请提供测试用的账号与密码
若是管理账号,请使用短信联系站长
回复
YamatoRyou
注册用户
注册用户
Rank 1
Rank 1
帖子: 9
注册时间: 2016年10月2日 08:52

迁移后发现记录的 IP 地址不正确.

帖子 YamatoRyou » 2016年10月6日 17:40

空间: Openshift, 地址: https://tiebasign-yamatoryou.rhcloud.com/bbs
操作系统: Linux
phpBB 版本: 3.1.9
PHP 版本: 5.3.14
MySQL 版本: 5.1.73

由于从别的空间迁移时保留了操作日志, 我最近发现迁移后用户注册; 发帖; 管理员登录; 控制面板等操作均显示为空间的本地 IP: 127.6.233.129. 如何使其显示正确的 IP?

截图地址: http://imgsrc.baidu.com/forum/pic/item/ ... 44ad07.jpg



头像
davidyin
网站管理员
网站管理员
Medal 3
Medal 3
帖子: 945
注册时间: 2015年11月19日 01:50
联系:

Re: 迁移后发现记录的 IP 地址不正确.

帖子 davidyin » 2016年10月8日 13:09

看上去,你的网站是在一个反向代理服务器后面,所以所取得的用户ip就是服务器的ip地址了。
这个要看服务器到底是如何处理真实ip地址的。
看看这段代码,并放到服务器上,看看其ip地址的情况。

代码: 全选

<?php
echo 'Server IP: ' . $_SERVER['SERVER_ADDR'] . '<br />';
echo 'Your IP: ' . $_SERVER['REMOTE_ADDR'];
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
   echo '<br />Forwarded For: ' . $_SERVER['HTTP_X_FORWARDED_FOR'];
}
?>
如果返回的前两个地址是一样的,就可以基本确定是在反向代理服务器后面。
居住在西八区,有时差,提问请按照“通用提问格式”提问,未必能及时回复,见谅。
提供 phpBB 服务

YamatoRyou
注册用户
注册用户
Rank 1
Rank 1
帖子: 9
注册时间: 2016年10月2日 08:52

Re: 迁移后发现记录的 IP 地址不正确.

帖子 YamatoRyou » 2016年10月8日 15:26

davidyin 写了:
2016年10月8日 13:09
看上去,你的网站是在一个反向代理服务器后面,所以所取得的用户ip就是服务器的ip地址了。
这个要看服务器到底是如何处理真实ip地址的。
看看这段代码,并放到服务器上,看看其ip地址的情况。

代码: 全选

<?php
echo 'Server IP: ' . $_SERVER['SERVER_ADDR'] . '<br />';
echo 'Your IP: ' . $_SERVER['REMOTE_ADDR'];
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
   echo '<br />Forwarded For: ' . $_SERVER['HTTP_X_FORWARDED_FOR'];
}
?>
如果返回的前两个地址是一样的,就可以基本确定是在反向代理服务器后面。
返回如下:
Server IP: 127.6.233.129
Your IP: 127.6.233.129
Forwarded For: 1.181.*.* (为我的实际 IP)

看起来无解. 感谢解答.

头像
davidyin
网站管理员
网站管理员
Medal 3
Medal 3
帖子: 945
注册时间: 2015年11月19日 01:50
联系:

Re: 迁移后发现记录的 IP 地址不正确.

帖子 davidyin » 2016年10月8日 15:41

请尝试下面的方法。
修改 /includes/startup.php

找到

代码: 全选

if (!defined('IN_PHPBB'))
{
   exit;
}
之后添加如下代码:

代码: 全选

if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['SERVER_ADDR'] == $_SERVER['REMOTE_ADDR'])
{
     $_SERVER['REMOTE_ADDR'] = htmlspecialchars((string) $_SERVER['HTTP_X_FORWARDED_FOR']);
}
看看这样是否可以临时解决问题。
居住在西八区,有时差,提问请按照“通用提问格式”提问,未必能及时回复,见谅。
提供 phpBB 服务

YamatoRyou
注册用户
注册用户
Rank 1
Rank 1
帖子: 9
注册时间: 2016年10月2日 08:52

Re: 迁移后发现记录的 IP 地址不正确.

帖子 YamatoRyou » 2016年10月8日 17:05

davidyin 写了:
2016年10月8日 15:41
请尝试下面的方法。
修改 /includes/startup.php

找到

代码: 全选

if (!defined('IN_PHPBB'))
{
   exit;
}
之后添加如下代码:

代码: 全选

if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['SERVER_ADDR'] == $_SERVER['REMOTE_ADDR'])
{
     $_SERVER['REMOTE_ADDR'] = htmlspecialchars((string) $_SERVER['HTTP_X_FORWARDED_FOR']);
}
看看这样是否可以临时解决问题。
由于我不会 PHP, 所以这样插入了代码:
截图地址 http://imgsrc.baidu.com/forum/pic/item/ ... 99f3a4.jpg

保存修改后进入控制台更改某个设置, IP 地址仍然不变.
http://imgsrc.baidu.com/forum/pic/item/ ... 2da63a.jpg

YamatoRyou
注册用户
注册用户
Rank 1
Rank 1
帖子: 9
注册时间: 2016年10月2日 08:52

Re: 迁移后发现记录的 IP 地址不正确.

帖子 YamatoRyou » 2016年10月8日 17:09

原来是我把代码写错了.
再次修改后重试发现已经变为我的 IP 地址.
非常感谢提供代码.

YamatoRyou
注册用户
注册用户
Rank 1
Rank 1
帖子: 9
注册时间: 2016年10月2日 08:52

Re: 迁移后发现记录的 IP 地址不正确.

帖子 YamatoRyou » 2016年10月8日 17:11

davidyin 写了:
2016年10月8日 15:41
请尝试下面的方法。
修改 /includes/startup.php

找到

代码: 全选

if (!defined('IN_PHPBB'))
{
   exit;
}
之后添加如下代码:

代码: 全选

if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['SERVER_ADDR'] == $_SERVER['REMOTE_ADDR'])
{
     $_SERVER['REMOTE_ADDR'] = htmlspecialchars((string) $_SERVER['HTTP_X_FORWARDED_FOR']);
}
看看这样是否可以临时解决问题。
由于我不会 PHP, 所以这样插入了代码:
截图地址 http://imgsrc.baidu.com/forum/pic/item/ ... 99f3a4.jpg

保存修改后进入控制台更改某个设置, IP 地址仍然不变.
http://imgsrc.baidu.com/forum/pic/item/ ... 2da63a.jpg

---------------
原来是我把代码写错了.
再次修改后重试发现已经变为我的 IP 地址.
非常感谢提供代码.

头像
davidyin
网站管理员
网站管理员
Medal 3
Medal 3
帖子: 945
注册时间: 2015年11月19日 01:50
联系:

Re: 迁移后发现记录的 IP 地址不正确.

帖子 davidyin » 2016年10月8日 17:44

这只是一个临时措施。希望还是修改主机设置的地方,使其能正确返回用户IP。
居住在西八区,有时差,提问请按照“通用提问格式”提问,未必能及时回复,见谅。
提供 phpBB 服务

回复