<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="如何用PHP代码实现限制国内IP访问我们网站（利用淘宝的IP接口）" id="card1">
<p> 游客</p><p>
标题:如何用PHP代码实现限制国内IP访问我们网站（利用淘宝的IP接口）<br/>
正文:<br/>
利用淘宝的IP接口来判断IP，是否是国内的ip，是国内（CN）的就不允许访问。$ip = $_SERVER['REMOTE_ADDR'];<br/>$content = file_get_contents(‘http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);<br/>$banned = json_decode(trim($content), true);<br/>$lan = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']);<br/>if((!empty($banned['data']['country_id']) &amp;amp;&amp;amp; $banned['data']['country_id'] == ‘CN') || strstr($lan, ‘zh'))<br/>{<br/>header(“HTTP/1.0 404 Not Found”);<br/>echo ‘HTTP/1.0 404 Not Found';<br/>exit;<br/>}同时发现一篇好文章：http://luhuang.sinaapp.com/redis-setnx/ 《Redis 来限制高并发 php代码实例》Redis本质上也是一种键值数据库的，但它在保持键值数据库简单快捷特点的同时，又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数据库之间。Redis不仅能保存Strings类型的数据，还能保存Lists类型（有序）和Sets类型（无序）的数据，而且还能完成排序（SORT） 等高级功能，在实现INCR，SETNX等功能的时候，保证了其操作的原子性，除此以外，还支持主从复制等功能。<br/> Redis 来限制高并发 <br/> php代码实例$redis-&amp;gt;setnx(‘lock:hot_items', true)<br/>//尝试创建一个key作为”锁”.若key已存在,setnx不会做任何动作且返回值为false,所以只有一个客户端会返回true值进入if语句更新缓存. <br/>$redis = new redis();<br/>$redis_key = ‘lock:hot_items';<br/>$clock_expire_time = $redis-&amp;gt;g<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2258&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2258&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2258&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2258&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2258">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2258">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>