<?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>PHP IP &#8211; 九创科技</title>
	<atom:link href="https://www.3code.cn/tag/php-ip-tag/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.3code.cn</link>
	<description>Wordpress外贸企业主题, Wp企业主题, wordpress企业主题, wordpress主题定制, WORDPRESS外贸网站建设SEO</description>
	<lastBuildDate>Mon, 02 Nov 2009 06:30:57 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>PHP获得用户的真实IP地址</title>
		<link>https://www.3code.cn/php-true-ip/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Mon, 02 Nov 2009 06:30:57 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP IP]]></category>
		<category><![CDATA[PHP 函数]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=112</guid>

					<description><![CDATA[获得用户的真实IP地址]]></description>
										<content:encoded><![CDATA[<p><strong>获得用户的真实IP地址</strong></p>
<p><code><span style="color: #000000;"><span style="color: #0000bb;">&lt;?<br />
</span><span style="color: #ff8000;">/**<br />
* 获得用户的真实IP地址<br />
*<br />
* @access  public<br />
*  @return  string<br />
*/<br />
</span><span style="color: #007700;">function </span><span style="color: #0000bb;">real_ip</span><span style="color: #007700;">()<br />
{<br />
static </span><span style="color: #0000bb;">$realip </span><span style="color: #007700;">= </span><span style="color: #0000bb;">NULL</span><span style="color: #007700;">;</p>
<p>if (</span><span style="color: #0000bb;">$realip </span><span style="color: #007700;">!== </span><span style="color: #0000bb;">NULL</span><span style="color: #007700;">)<br />
{<br />
return </span><span style="color: #0000bb;">$realip</span><span style="color: #007700;">;<br />
}</p>
<p>if (isset(</span><span style="color: #0000bb;">$_SERVER</span><span style="color: #007700;">))<br />
{<br />
if (isset(</span><span style="color: #0000bb;">$_SERVER</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #007700;">]))<br />
{<br />
</span><span style="color: #0000bb;">$arr </span><span style="color: #007700;">= </span><span style="color: #0000bb;">explode</span><span style="color: #007700;">(</span><span style="color: #dd0000;">','</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$_SERVER</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #007700;">]);</p>
<p></span><span style="color: #ff8000;">/*  取X-Forwarded-For中第一个非unknown的有效IP字符串 */<br />
</span><span style="color: #007700;">foreach (</span><span style="color: #0000bb;">$arr </span><span style="color: #007700;">AS </span><span style="color: #0000bb;">$ip</span><span style="color: #007700;">)<br />
{<br />
</span><span style="color: #0000bb;">$ip </span><span style="color: #007700;">= </span><span style="color: #0000bb;">trim</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$ip</span><span style="color: #007700;">);</p>
<p>if (</span><span style="color: #0000bb;">$ip </span><span style="color: #007700;">!= </span><span style="color: #dd0000;">'unknown'</span><span style="color: #007700;">)<br />
{<br />
</span><span style="color: #0000bb;">$realip </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$ip</span><span style="color: #007700;">;</p>
<p>break;<br />
}<br />
}<br />
}<br />
elseif  (isset(</span><span style="color: #0000bb;">$_SERVER</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'HTTP_CLIENT_IP'</span><span style="color: #007700;">]))<br />
{<br />
</span><span style="color: #0000bb;">$realip </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$_SERVER</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'HTTP_CLIENT_IP'</span><span style="color: #007700;">];<br />
}<br />
else<br />
{<br />
if (isset(</span><span style="color: #0000bb;">$_SERVER</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'REMOTE_ADDR'</span><span style="color: #007700;">]))<br />
{<br />
</span><span style="color: #0000bb;">$realip </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$_SERVER</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'REMOTE_ADDR'</span><span style="color: #007700;">];<br />
}<br />
else<br />
{<br />
</span><span style="color: #0000bb;">$realip </span><span style="color: #007700;">= </span><span style="color: #dd0000;">'0.0.0.0'</span><span style="color: #007700;">;<br />
}<br />
}<br />
}<br />
else<br />
{<br />
if  (</span><span style="color: #0000bb;">getenv</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #007700;">))<br />
{<br />
</span><span style="color: #0000bb;">$realip </span><span style="color: #007700;">= </span><span style="color: #0000bb;">getenv</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'HTTP_X_FORWARDED_FOR'</span><span style="color: #007700;">);<br />
}<br />
elseif (</span><span style="color: #0000bb;">getenv</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'HTTP_CLIENT_IP'</span><span style="color: #007700;">))<br />
{<br />
</span><span style="color: #0000bb;">$realip </span><span style="color: #007700;">= </span><span style="color: #0000bb;">getenv</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'HTTP_CLIENT_IP'</span><span style="color: #007700;">);<br />
}<br />
else<br />
{<br />
</span><span style="color: #0000bb;">$realip </span><span style="color: #007700;">= </span><span style="color: #0000bb;">getenv</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'REMOTE_ADDR'</span><span style="color: #007700;">);<br />
}<br />
}</p>
<p></span><span style="color: #0000bb;">preg_match</span><span style="color: #007700;">(</span><span style="color: #dd0000;">"/[\d\.]{7,15}/"</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$realip</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$onlineip</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">$realip </span><span style="color: #007700;">=  !empty(</span><span style="color: #0000bb;">$onlineip</span><span style="color: #007700;">[</span><span style="color: #0000bb;">0</span><span style="color: #007700;">]) ? </span><span style="color: #0000bb;">$onlineip</span><span style="color: #007700;">[</span><span style="color: #0000bb;">0</span><span style="color: #007700;">] : </span><span style="color: #dd0000;">'0.0.0.0'</span><span style="color: #007700;">;</p>
<p>return </span><span style="color: #0000bb;">$realip</span><span style="color: #007700;">;<br />
}<br />
</span><span style="color: #0000bb;">?&gt;</span> </span></code></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
