马上注册,免费下载更多dz插件网资源。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
升级了论坛3.5版本,发现IP出现问题了;弄了两天,才弄好;
论坛自身是apache + php 5.6 的配置;
前面还有nginx代理;
正确配置如下;
1. 放开安全限制,ip接收其他参数头;
config/config_global.php
- $_config['security']['onlyremoteaddr'] = 0; //默认为1,表示只接受remote addr参数头;
复制代码 2. 修改ip相关配置参数;- $_config['ipgetter']['setting'] = 'header';$_config['ipgetter']['header']['header'] = 'HTTP_X_REAL_IP';
复制代码
3. nginx配置- location / { client_max_body_size 1000m; proxy_pass http://10.1.9.5:8080; proxy_set_header Host $host:$server_port; //论坛非标准端口,代理时需要添加这个东东; proxy_set_header X-REAL-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
复制代码 4. 测试文件
- <?phpclass ip_getter_header { public static function get($s) { if (empty($s['header'])) { return $_SERVER['REMOTE_ADDR']; } $ip = isset($_SERVER[$s['header']]) ? $_SERVER[$s['header']] : $_SERVER['REMOTE_ADDR']; return $ip; }}foreach ($_SERVER as $key => $value) { echo "$key: $value<br>";}$customHeader = 'aaaaa';$ip = ip_getter_header::get(['header' => $customHeader]);echo "<Br><Br>Client IP Address: " . $ip;$customHeader2 = 'HTTP_AAAAA';$ip2 = ip_getter_header::get(['header' => $customHeader2]);echo "<Br>Client IP Address2: " . $ip2;?>
复制代码
©DZ插件网所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 网站部分内容来源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,得到更好的正版服务。 您在本站任何的赞助购买、下载、查阅、回复等行为等均表示接受并同意签订《DZ插件网免责声明协议》。 如有侵权请邮件与我们联系处理: discuzaddons@vip.qq.com 并出示相关证明以便删除。敬请谅解!
|
|