<?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>前端之路 &#187; ip2long</title>
	<atom:link href="http://www.simcn.com/tag/ip2long/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simcn.com</link>
	<description>网站开发, 前端开发, 高性能前端开发</description>
	<lastBuildDate>Thu, 03 Nov 2011 02:08:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>php限制网站访问IP(段)</title>
		<link>http://www.simcn.com/php%e9%99%90%e5%88%b6%e7%bd%91%e7%ab%99%e8%ae%bf%e9%97%aeip%e6%ae%b5</link>
		<comments>http://www.simcn.com/php%e9%99%90%e5%88%b6%e7%bd%91%e7%ab%99%e8%ae%bf%e9%97%aeip%e6%ae%b5#comments</comments>
		<pubDate>Thu, 20 Nov 2008 09:16:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[后端技术]]></category>
		<category><![CDATA[ip2long]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[限制ip]]></category>

		<guid isPermaLink="false">http://www.simcn.com/?p=84</guid>
		<description><![CDATA[可以限制单独IP与IP段 ip.txt (存放限制的IP及IP段) 58.14.0.0-58.25.255.255 127.0.0.1-127.0.0.1 前后IP相同表示只指定1个IP /* * 马克(sim_cn@qq.com) * www.simcn.com */ $meip = ip2long($_SERVER['REMOTE_ADDR']); $filename="../ip.txt"; //定义操作文件 $ip_lib=file($filename); //读取文件数据到数组中 for($i=0;$i= $sip &#038;&#038; $meip]]></description>
			<content:encoded><![CDATA[<p>可以限制单独IP与IP段</p>
<p>ip.txt (存放限制的IP及IP段)<br />
58.14.0.0-58.25.255.255<br />
127.0.0.1-127.0.0.1</p>
<p>前后IP相同表示只指定1个IP</p>
<pre lang='php'>
/*
 * 马克(sim_cn@qq.com)
 * www.simcn.com
 */
$meip = ip2long($_SERVER['REMOTE_ADDR']);
$filename="../ip.txt";     	//定义操作文件
$ip_lib=file($filename);  	//读取文件数据到数组中 

for($i=0;$i<count($ip_lib);$i++){
	list($sip,$eip) = explode('-',$ip_lib[$i]);
	$sip = ip2long(trim($sip));
	$eip = ip2long(trim($eip));
	if($meip >= $sip &#038;&#038; $meip <= $eip){
		echo "你的IP被限制了,有问题请联系管理员";
		exit();
		break;
	}
}
</pre>
<p>本文用用到函数解释</p>
<p>ip2long 把ip地址转换为 整型数字有+,-</p>
<p>优化一下代码<br />
可以限制单独IP与IP段</p>
<p>ip.txt (存放限制的IP及IP段)<br />
58.14.0.0-58.25.255.255<br />
127.0.0.1-127.0.0.1</p>
<p>前后IP相同表示只指定1个IP</p>
<pre lang='php'>
/*
 * 马克(sim_cn@qq.com)
 * www.simcn.com
 */
$meip = ip2long($_SERVER['REMOTE_ADDR']);
$filename="../ip.txt";     	//定义操作文件
$ip_lib=file($filename);  	//读取文件数据到数组中 

$n = count($ip_lib); //不在for循环中做函数会更快一点.
for($i=0;$i<$n;$i++){
	list($sip,$eip) = explode('-',$ip_lib[$i]);
	$sip = ip2long(trim($sip));
	$eip = ip2long(trim($eip));
	if($meip >= $sip &#038;&#038; $meip <= $eip){
		echo "你的IP被限制了,有问题请联系管理员";
		exit();
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.simcn.com/php%e9%99%90%e5%88%b6%e7%bd%91%e7%ab%99%e8%ae%bf%e9%97%aeip%e6%ae%b5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

