Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

如何解决 Apache 2.2.4 的地址 IP 0.0.0.0 问题

[复制链接]
cnteacher 发表于 2007-5-31 18:10:02 | 显示全部楼层 |阅读模式
经过 Discuz! 开发组测试, Apache 2.2.4 在 windows 平台下,可能无法取得访问者的 ip 数值,

这个bug甚至会影响到 access.log 以及 error.log 的记录,出现这种问题的服务器环境下,您的访问日志很可能出现类似下面的状况


  1. 0.0.0.0 - - [31/May/2007:17:36:57 +0800] "GET /env.php?t=d HTTP/1.1" 200 91034
  2. 0.0.0.0 - - [31/May/2007:17:36:58 +0800] "GET /env.php?t=d HTTP/1.1" 200 90550
  3. ...
  4. ...
复制代码



因此,在这个服务器环境下,任何php程序取得的ip都可能是 0.0.0.0

在查阅了大量相关资料的情况下,Discuz! 开发组经过反复测试, 通过在 httpd.conf 当中加入隐秘参数,可以有效避免这个问题的发生, apache 可以正常的探测到访问者的 ip 了。

修正方法:

打开 httpd.conf

在文件开头或者任意一个你认为合适的位置,增加一行下面的代码,然后重新启动 apache,ip 的问题就可以解决了。



  1. Win32DisableAcceptEx

复制代码


注意:上面这行参数必须独立占一行位置。

评分

1

查看全部评分

 楼主| cnteacher 发表于 2007-5-31 18:14:11 | 显示全部楼层
本人在 apache 2.2.4 + php 5.2.2 环境下测试成功
回复

使用道具 举报

pc77maikongjian 发表于 2007-5-31 18:29:37 | 显示全部楼层
谢谢分享,测试一下看看!
回复

使用道具 举报

tanweihai 发表于 2007-6-7 01:38:35 | 显示全部楼层
怎么看apache 是不是2.2.4版本?
回复

使用道具 举报

GGGHHH 发表于 2007-6-7 02:32:29 | 显示全部楼层
原帖由 tanweihai 于 2007-6-7 01:38 发表
怎么看apache 是不是2.2.4版本?


上传个探针
回复

使用道具 举报

cb1300_tw 发表于 2007-7-14 01:04:24 | 显示全部楼层
Thanks a lots.
回复

使用道具 举报

labman 发表于 2007-7-14 11:15:23 | 显示全部楼层
呵 ~ 解決了這個問題 ~ 感謝樓主呀 ~
回复

使用道具 举报

wiwiboy 发表于 2007-9-4 17:29:05 | 显示全部楼层
恩 为这个问题 搞了老半天

起初还以为是程序的问题,后来print_r( $_SERVER);
才知道是服务器配置问题。

服务器的APACHE就是2.2.4

十分感谢

[ 本帖最后由 wiwiboy 于 2007-9-4 17:30 编辑 ]
回复

使用道具 举报

lgp7226 发表于 2007-9-4 17:38:08 | 显示全部楼层
谢谢分享,我学习了。
回复

使用道具 举报

logswan 发表于 2007-9-24 19:37:44 | 显示全部楼层
apapche也没见出个补丁补一下这个问题!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-28 22:07 , Processed in 0.049066 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表