<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>猫窝私语 — Makumo's Blog &#187; IP</title>
	<atom:link href="http://www.makumo.com/tag/ip/feed" rel="self" type="application/rss+xml" />
	<link>http://www.makumo.com</link>
	<description></description>
	<lastBuildDate>Wed, 24 Mar 2010 08:48:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>对这次100U的IP调整很失望</title>
		<link>http://www.makumo.com/say_bye_100u.cat</link>
		<comments>http://www.makumo.com/say_bye_100u.cat#comments</comments>
		<pubDate>Mon, 16 Mar 2009 18:24:36 +0000</pubDate>
		<dc:creator>玛酷猫</dc:creator>
				<category><![CDATA[建站日志]]></category>
		<category><![CDATA[心情点滴]]></category>
		<category><![CDATA[IP]]></category>

		<guid isPermaLink="false">http://www.makumo.com/?p=307</guid>
		<description><![CDATA[最近工作比较忙，也没时间管理小窝，前几天无意中看了下统计，发现小窝的流量一下变成0了，整整5天时间没有流量。当期就很奇怪，虽然说没什么人气，但是每天20+个IP还是有的，PING了下域名，返回IP无法到达，当时就郁闷了。登陆了空间管理平台，状态写着是正常，突然发现IP地址变掉了……随手登陆了当时注册的电子邮箱，里面空空如也……去询问在线客服，“为什么IP更换没有通知用户，发一封邮件很难么？”，对方的回答让人很无语：“我们已经在首页发出公告了”，难到我买了服务还要天天跑来你们首页看公告？我又随手看了下首页，根本没什么公告，最新的公告还是过年的放假通知，于是又问“怎么首页没看到公告？”答曰：“已经调整完毕了，公告撤掉了”，顿时无语，调整完撤掉了那为什么公告里面去年“CNNIC系统维护”不撤掉，明显搪塞。在我继续询问为什么IP调整不通知用户，客服居然说“你把域名过户到我们这里管理或者把域名的DNS解析到我们这里就不会出现这种问题了”…………我是直接无语，回了句“我对你们非常失望”就关了客服。
哦，忘了说了，我用的是百优互联(100U)的空间，到现在也有两年多了，之前一直用的挺好，速度一般，价钱还说的过去，相对来说稍微贵了点。07年的时候曾经也调整过一次IP，那次提前一个星期就发送EMAIL通知了我，而且连续发送了三封，调整那天晚上很顺利的就重新解析了域名，而且提前半年、三个月、一个月提醒空间到期续费。而现在的感觉就是服务直线下降，连给客户发一封小小的电子邮件都办不到了，或许是我们这些虚拟空间用户太微不足道了，没什么价值吧，都围绕着大客户服务去了。
上个月从酋长那里买了新的空间，这个空间还是我无意中逛xiaorsz的blog才知道的，他用的也是酋长的空间。刚买的时候用探针看了下，6核（不知道是2个3核的CPU还是3个2核的CPU，我对服务器不了解）12G内存=。=！不过可能服务器在国外的缘故，访问速度有点慢，前几天更换了一个服务器，访问速度还好，看了下配置，8核（估计是2个4核CPU），4G内存。总体感觉还好了。等这段时间忙完了，抽空把小窝搬迁过去，告别这个让人失望的地方，但愿搬迁一切顺利。
PS：上个月还说准备做一套春天的模板呢，素材都找好了，可是米时间弄，看来过几天直接弄夏天的模板好了。o(╯□╰)o
]]></description>
			<content:encoded><![CDATA[<p>最近工作比较忙，也没时间管理小窝，前几天无意中看了下统计，发现小窝的流量一下变成0了，整整5天时间没有流量。当期就很奇怪，虽然说没什么人气，但是每天20+个IP还是有的，PING了下域名，返回IP无法到达，当时就郁闷了。登陆了空间管理平台，状态写着是正常，突然发现IP地址变掉了……随手登陆了当时注册的电子邮箱，里面空空如也……去询问在线客服，“为什么IP更换没有通知用户，发一封邮件很难么？”，对方的回答让人很无语：“我们已经在首页发出公告了”，难到我买了服务还要天天跑来你们首页看公告？我又随手看了下首页，根本没什么公告，最新的公告还是过年的放假通知，于是又问“怎么首页没看到公告？”答曰：“已经调整完毕了，公告撤掉了”，顿时无语，调整完撤掉了那为什么公告里面去年“CNNIC系统维护”不撤掉，明显搪塞。在我继续询问为什么IP调整不通知用户，客服居然说“你把域名过户到我们这里管理或者把域名的DNS解析到我们这里就不会出现这种问题了”…………我是直接无语，回了句“我对你们非常失望”就关了客服。</p>
<p>哦，忘了说了，我用的是<a href="http://www.100u.com/" target="_blank">百优互联(100U)</a>的空间，到现在也有两年多了，之前一直用的挺好，速度一般，价钱还说的过去，相对来说稍微贵了点。07年的时候曾经也调整过一次IP，那次提前一个星期就发送EMAIL通知了我，而且连续发送了三封，调整那天晚上很顺利的就重新解析了域名，而且提前半年、三个月、一个月提醒空间到期续费。而现在的感觉就是服务直线下降，连给客户发一封小小的电子邮件都办不到了，或许是我们这些虚拟空间用户太微不足道了，没什么价值吧，都围绕着大客户服务去了。</p>
<p>上个月从<strong>酋长</strong><a title="酋长" href="http://bbs.wopus.org/" target="_blank"><img src="http://www.makumo.com/wp-content/plugins/name-homepage/external.png" alt="酋长" style="margin: 0 3px;padding: 0;border: none;" /></a>那里买了新的空间，这个空间还是我无意中逛<strong>xiaorsz</strong><a title="xiaorsz" href="http://www.xiaorsz.com/" target="_blank"><img src="http://www.makumo.com/wp-content/plugins/name-homepage/external.png" alt="xiaorsz" style="margin: 0 3px;padding: 0;border: none;" /></a>的blog才知道的，他用的也是酋长的空间。刚买的时候用探针看了下，6核（不知道是2个3核的CPU还是3个2核的CPU，我对服务器不了解）12G内存=。=！不过可能服务器在国外的缘故，访问速度有点慢，前几天更换了一个服务器，访问速度还好，看了下配置，8核（估计是2个4核CPU），4G内存。总体感觉还好了。等这段时间忙完了，抽空把小窝搬迁过去，告别这个让人失望的地方，但愿搬迁一切顺利。</p>
<p>PS：上个月还说准备做一套春天的模板呢，素材都找好了，可是米时间弄，看来过几天直接弄夏天的模板好了。o(╯□╰)o</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makumo.com/say_bye_100u.cat/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTTP_X_FORWARDED_FOR、IP、安全性</title>
		<link>http://www.makumo.com/http_x_forwarded_for.cat</link>
		<comments>http://www.makumo.com/http_x_forwarded_for.cat#comments</comments>
		<pubDate>Fri, 05 Dec 2008 17:46:48 +0000</pubDate>
		<dc:creator>玛酷猫</dc:creator>
				<category><![CDATA[他山之石]]></category>
		<category><![CDATA[建站日志]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[安全]]></category>

		<guid isPermaLink="false">http://www.makumo.com/?p=228</guid>
		<description><![CDATA[（由于本人也是PHP的初学者，对于一些安全问题了解的也不是很多。可能是空间商“将程序隐藏在Apache的Proxy模块后面”，除了使用HTTP_X_FORWARDED_FOR，其他方法获取的IP地址都是127.0.0.1。@gowers在之前所写的《解决wordpress留言评论者IP都是127.0.0.1》提到了关于HTTP_X_FORWARDED_FOR安全性的问题，我在网上查找了些资料，安全性的漏洞可以使用格式检查和SQL语句不安全字符过滤方法来封堵，不过对于伪造IP就没什么办法了。引用下kingthy的一篇文章《使用HTTP_X_FORWARDED_FOR获取客户端IP的严重后果》）
在WEB开发中.我们可能都习惯使用下面的代码来获取客户端的IP地址:

1
2
3
4
5
6
//优先取得代理IP
string IP = Request.ServerVariables&#91;&#34;HTTP_X_FORWARDED_FOR&#34;&#93;;
if &#40;string.IsNullOrEmpty&#40;IP&#41;&#41; &#123;
 //没有代理IP则直接取连接客户端IP
 IP = Request.ServerVariables&#91;&#34;REMOTE_ADDR&#34;&#93;;
&#125;

上面代码看来起是正常的.可惜这里却隐藏了一个隐患!!因为&#8221;HTTP_X_FORWARDED_FOR&#8221;这个值是通过获取HTTP头的&#8221;X_FORWARDED_FOR&#8221;属性取得.所以这里就提供给恶意破坏者一个办法:可以伪造IP地址!!
下面是测试代码:

1
2
3
4
5
6
7
8
HttpWebRequest request = &#40;HttpWebRequest&#41;HttpWebRequest.Create&#40;&#34;http://localhost/ip.aspx&#34;&#41;;
request.Headers.Add&#40;&#34;X_FORWARDED_FOR&#34;, &#34;0.0.0.0&#34;&#41;;
HttpWebResponse response = &#40;HttpWebResponse&#41;request.GetResponse&#40;&#41;;
StreamReader stream = new StreamReader&#40;response.GetResponseStream&#40;&#41;&#41;;
string IP = stream.ReadToEnd&#40;&#41;;
stream.Close&#40;&#41;;
response.Close&#40;&#41;;
request = null;

&#8220;ip.aspx&#8221;文件代码:

1
2
3
4
5
6
7
8
9
10
Response.Clear&#40;&#41;;
//优先取得代理IP
string IP = Request.ServerVariables&#91;&#34;HTTP_X_FORWARDED_FOR&#34;&#93;;
if &#40;string.IsNullOrEmpty&#40;IP&#41;&#41;
&#123;
  //没有代理IP则直接取客户端IP
  IP = Request.ServerVariables&#91;&#34;REMOTE_ADDR&#34;&#93;;
&#125;
Response.Write&#40;IP&#41;;
Response.End&#40;&#41;;

这样.当测试代码中去访问ip.aspx文件时.&#8221;string IP = stream.ReadToEnd();&#8221;这段代码取到的IP数据就是&#8221;0.0.0.0&#8243;!!!!(呵.在真实情况下.这样的IP地址肯定不是我们想要的结果.而在有些投票系统中限制一个IP只能投1次票时,如果也是用类似的代码取得对方IP然后再判断的话.呵呵.限制就失效咯)&#8230;
或者如果你用上面代码获取IP地址后后面又不再进行数据判断的话也许还能更进一步进行数据破坏!!
比如你用类似上面的代码中获取IP地址就直接有这样的SQL语句:
string sql = &#8220;INSERT INTO (IP) VALUE (&#8216;&#8221; + IP + &#8220;&#8216;)&#8221;;
那么也许破坏者还可以进行SQL注入进行数据破坏!!
这样看来利用&#8221;HTTP_X_FORWARDED_FOR&#8221;这个属性获取客户端IP的方法就不再可取了.-_-# 但如果不用这种方法.那么那些真正使用了代理服务器的人.我们又不能再获取到他们的真实IP地址(因为某些代理服务器会在&#8221;X_FORWARDED_FOR&#8221;这个HTTP头里加上访问用户真正的IP地址).呵.现实就是这样,某种东西都有有得必有失&#8230;
]]></description>
			<content:encoded><![CDATA[<p>（由于本人也是PHP的初学者，对于一些安全问题了解的也不是很多。可能是空间商“将程序隐藏在Apache的Proxy模块后面”，除了使用HTTP_X_FORWARDED_FOR，其他方法获取的IP地址都是127.0.0.1。<a href="http://www.makumo.com/ip_127_0_0_1.cat#comment-211">@gowers</a>在之前所写的《<a href="http://www.makumo.com/ip_127_0_0_1.cat">解决wordpress留言评论者IP都是127.0.0.1</a>》提到了关于HTTP_X_FORWARDED_FOR安全性的问题，我在网上查找了些资料，安全性的漏洞可以使用格式检查和SQL语句不安全字符过滤方法来封堵，不过对于伪造IP就没什么办法了。引用下<a href="http://www.cnblogs.com/kingthy/">kingthy</a>的一篇文章《<a href="http://www.cnblogs.com/kingthy/archive/2007/11/24/970783.html">使用HTTP_X_FORWARDED_FOR获取客户端IP的严重后果</a>》）</p>
<blockquote><p>在WEB开发中.我们可能都习惯使用下面的代码来获取客户端的IP地址:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">//优先取得代理IP</span>
<span style="color: #FF0000;">string</span> IP <span style="color: #008000;">=</span> Request.<span style="color: #0000FF;">ServerVariables</span><span style="color: #000000;">&#91;</span><span style="color: #666666;">&quot;HTTP_X_FORWARDED_FOR&quot;</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span>.<span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #000000;">&#40;</span>IP<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
 <span style="color: #008080; font-style: italic;">//没有代理IP则直接取连接客户端IP</span>
 IP <span style="color: #008000;">=</span> Request.<span style="color: #0000FF;">ServerVariables</span><span style="color: #000000;">&#91;</span><span style="color: #666666;">&quot;REMOTE_ADDR&quot;</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>上面代码看来起是正常的.可惜这里却隐藏了一个隐患!!因为&#8221;HTTP_X_FORWARDED_FOR&#8221;这个值是通过获取HTTP头的&#8221;X_FORWARDED_FOR&#8221;属性取得.所以这里就提供给恶意破坏者一个办法:可以伪造IP地址!!</p>
<p>下面是测试代码:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">HttpWebRequest request <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span>HttpWebRequest<span style="color: #000000;">&#41;</span>HttpWebRequest.<span style="color: #0000FF;">Create</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;http://localhost/ip.aspx&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
request.<span style="color: #0000FF;">Headers</span>.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;X_FORWARDED_FOR&quot;</span>, <span style="color: #666666;">&quot;0.0.0.0&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
HttpWebResponse response <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span>HttpWebResponse<span style="color: #000000;">&#41;</span>request.<span style="color: #0000FF;">GetResponse</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
StreamReader stream <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> StreamReader<span style="color: #000000;">&#40;</span>response.<span style="color: #0000FF;">GetResponseStream</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #FF0000;">string</span> IP <span style="color: #008000;">=</span> stream.<span style="color: #0000FF;">ReadToEnd</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
stream.<span style="color: #0000FF;">Close</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
response.<span style="color: #0000FF;">Close</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
request <span style="color: #008000;">=</span> null<span style="color: #008000;">;</span></pre></td></tr></table></div>

<p>&#8220;ip.aspx&#8221;文件代码:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">Response.<span style="color: #0000FF;">Clear</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008080; font-style: italic;">//优先取得代理IP</span>
<span style="color: #FF0000;">string</span> IP <span style="color: #008000;">=</span> Request.<span style="color: #0000FF;">ServerVariables</span><span style="color: #000000;">&#91;</span><span style="color: #666666;">&quot;HTTP_X_FORWARDED_FOR&quot;</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span>.<span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #000000;">&#40;</span>IP<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
  <span style="color: #008080; font-style: italic;">//没有代理IP则直接取客户端IP</span>
  IP <span style="color: #008000;">=</span> Request.<span style="color: #0000FF;">ServerVariables</span><span style="color: #000000;">&#91;</span><span style="color: #666666;">&quot;REMOTE_ADDR&quot;</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span>
Response.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span>IP<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
Response.<span style="color: #0000FF;">End</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></td></tr></table></div>

<p>这样.当测试代码中去访问ip.aspx文件时.&#8221;string IP = stream.ReadToEnd();&#8221;这段代码取到的IP数据就是&#8221;0.0.0.0&#8243;!!!!(呵.在真实情况下.这样的IP地址肯定不是我们想要的结果.而在有些投票系统中限制一个IP只能投1次票时,如果也是用类似的代码取得对方IP然后再判断的话.呵呵.限制就失效咯)&#8230;</p>
<p>或者如果你用上面代码获取IP地址后后面又不再进行数据判断的话也许还能更进一步进行数据破坏!!<br />
比如你用类似上面的代码中获取IP地址就直接有这样的SQL语句:<br />
string sql = &#8220;INSERT INTO (IP) VALUE (&#8216;&#8221; + IP + &#8220;&#8216;)&#8221;;<br />
那么也许破坏者还可以进行SQL注入进行数据破坏!!</p>
<p>这样看来利用&#8221;HTTP_X_FORWARDED_FOR&#8221;这个属性获取客户端IP的方法就不再可取了.-_-# 但如果不用这种方法.那么那些真正使用了代理服务器的人.我们又不能再获取到他们的真实IP地址(因为某些代理服务器会在&#8221;X_FORWARDED_FOR&#8221;这个HTTP头里加上访问用户真正的IP地址).呵.现实就是这样,某种东西都有有得必有失&#8230;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.makumo.com/http_x_forwarded_for.cat/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决wordpress留言评论者IP都是127.0.0.1</title>
		<link>http://www.makumo.com/ip_127_0_0_1.cat</link>
		<comments>http://www.makumo.com/ip_127_0_0_1.cat#comments</comments>
		<pubDate>Thu, 13 Nov 2008 16:30:06 +0000</pubDate>
		<dc:creator>玛酷猫</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[建站日志]]></category>
		<category><![CDATA[IP]]></category>

		<guid isPermaLink="false">http://www.makumo.com/?p=153</guid>
		<description><![CDATA[刚刚开始用2.1版本的时候就发现这个问题，所有评论这的IP都是127.0.0.1，当时也没在意，心想可能是那块没有设置好，反正评论的人也不多。前几天更新成2.6.3后，发现这个问题依旧存在，127.0.0.1似乎在评论审核的黑名单中，弄的所有的评论都变成垃圾评论，都要一个个审核，很是烦人。
上网查了下资料，遇到这个问题的人并不多，还在有人提起，也有热心人回复了大概原因以及大概解决方案：原因是空间商启用了某种缓存机制导致取IP产生错误，使得结果都是本机IP，也就是127.0.0.1。解决方案也很简单，更换获取IP语句就好。
查了下PHP获取IP的语句，主要是以下几种

1
2
3
4
5
6
$_SERVER&#91;&#34;HTTP_X_FORWARDED_FOR&#34;; 
$_SERVER&#91;&#34;HTTP_CLIENT_IP&#34;&#93;; 
$_SERVER&#91;&#34;REMOTE_ADDR&#34;&#93;; 
getenv&#40;&#34;HTTP_X_FORWARDED_FOR&#34;&#41;; 
getenv&#40;&#34;HTTP_CLIENT_IP&#34;&#41;; 
getenv&#40;&#34;REMOTE_ADDR&#34;&#41;;

剩下的就很简单了，写一个测试页面，一个一个试，看那个能显示正确的IP地址，在修改/wp-includes/comment.php ,我的文件是在第718行

718
$commentdata&#91;'comment_author_IP'&#93; = preg_replace&#40; '/[^0-9a-fA-F:., ]/', '',$_SERVER&#91;'REMOTE_ADDR'&#93; &#41;;

将$_SERVER['REMOTE_ADDR']改成上面测试正确IP的语句，问题解决。
本人对PHP还是初学者阶段，如有叙述不当之处，还希望多多斧正。
]]></description>
			<content:encoded><![CDATA[<p>刚刚开始用2.1版本的时候就发现这个问题，所有评论这的IP都是127.0.0.1，当时也没在意，心想可能是那块没有设置好，反正评论的人也不多。前几天更新成2.6.3后，发现这个问题依旧存在，127.0.0.1似乎在评论审核的黑名单中，弄的所有的评论都变成垃圾评论，都要一个个审核，很是烦人。</p>
<p>上网查了下资料，遇到这个问题的人并不多，还在有人提起，也有热心人回复了大概原因以及大概解决方案：原因是空间商启用了某种缓存机制导致取IP产生错误，使得结果都是本机IP，也就是127.0.0.1。解决方案也很简单，更换获取IP语句就好。</p>
<p>查了下PHP获取IP的语句，主要是以下几种</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_X_FORWARDED_FOR&quot;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTP_CLIENT_IP&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> 
<span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> 
<span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP_X_FORWARDED_FOR&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP_CLIENT_IP&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #990000;">getenv</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>剩下的就很简单了，写一个测试页面，一个一个试，看那个能显示正确的IP地址，在修改/wp-includes/comment.php ,我的文件是在第718行</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>718
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$commentdata</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment_author_IP'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'/[^0-9a-fA-F:., ]/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>将$_SERVER['REMOTE_ADDR']改成上面测试正确IP的语句，问题解决。</p>
<p>本人对PHP还是初学者阶段，如有叙述不当之处，还希望多多斧正。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makumo.com/ip_127_0_0_1.cat/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>IP变更，前几天猫窝无法访问</title>
		<link>http://www.makumo.com/web_down_0729.cat</link>
		<comments>http://www.makumo.com/web_down_0729.cat#comments</comments>
		<pubDate>Thu, 02 Aug 2007 13:23:16 +0000</pubDate>
		<dc:creator>玛酷猫</dc:creator>
				<category><![CDATA[建站日志]]></category>
		<category><![CDATA[IP]]></category>

		<guid isPermaLink="false">http://nest.makumo.com/2007/08/web_down_0729.html</guid>
		<description><![CDATA[最近有点私事，忙的晕头转向，这几天也没有来这里写写东西，今天上来看看，突然发现网站打不开了，心理咯噔一下，不会出什么事情了吧。难道是最近查备案比较严？也不对呀，自己备过案了呀！或者是非法信息？也不像呀，平时写东西很小心了，生怕出问题，留言管理的也很严格，应该也不是呀；网站PING不通了，不会是空间商出问题了吧。先上邮箱看看，果然有封27日空间商发来得EMAIL，关于维护更换IP通知，29日空间IP变更，算一算网站关了有4天半了。立刻登录域名控制器，三下五除二搞顶。还好新网的解析还挺快，5分钟不到已经解析到新IP地址了。
看来平时还是要多注意下邮件，至少也要2天检查一次了。不过个人认为空间商可以用一些更好的方式来发送通知，比如手机短信之类的，注册的时候貌似有填写，毕竟邮箱并不都是经常上的，甚至还有些人邮箱密码都不记得了。
PS：研究LINUX中，头晕…………
]]></description>
			<content:encoded><![CDATA[<p>最近有点私事，忙的晕头转向，这几天也没有来这里写写东西，今天上来看看，突然发现网站打不开了，心理咯噔一下，不会出什么事情了吧。难道是最近查备案比较严？也不对呀，自己备过案了呀！或者是非法信息？也不像呀，平时写东西很小心了，生怕出问题，留言管理的也很严格，应该也不是呀；网站PING不通了，不会是空间商出问题了吧。先上邮箱看看，果然有封27日空间商发来得EMAIL，关于维护更换IP通知，29日空间IP变更，算一算网站关了有4天半了。立刻登录域名控制器，三下五除二搞顶。还好新网的解析还挺快，5分钟不到已经解析到新IP地址了。</p>
<p>看来平时还是要多注意下邮件，至少也要2天检查一次了。不过个人认为空间商可以用一些更好的方式来发送通知，比如手机短信之类的，注册的时候貌似有填写，毕竟邮箱并不都是经常上的，甚至还有些人邮箱密码都不记得了。</p>
<p>PS：研究LINUX中，头晕…………</p>
]]></content:encoded>
			<wfw:commentRss>http://www.makumo.com/web_down_0729.cat/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
