如何做到只允许某个地区用户访问站点?


例如,我前段时间做一个西安本地化的社区,为了提高社区人员的粘合度,想实现访问注册的用户都是西安本地的用户,但是没有比较好的方法,不知道大家都是如何处理这种问题的。希望能给些指点

php 设计模式

styynnt 12 years, 10 months ago

腾讯有个IP分享计划,给了个例子,你可以看一下

   
  /*
  
*根据腾讯IP分享计划的地址获取IP所在地,比较精确
*/
function getIPLoc($queryIP){
$url = 'http://ip.qq.com/cgi-bin/searchip?searchip1='.$queryIP;
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_ENCODING ,'utf-8');
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回
$result = curl_exec($ch);
curl_close($ch);
preg_match("@<span>(.*)</span></p>@iU",$result,$ipArray);
$loc = $ipArray[1];
return $loc;
}

网站本身只能通过IP对用户来源进行判断,其他的没有什么好的方法,但是无法避免用户通过代理等方式访问~~

忘说了,新浪还有有道都有对应的IP分享计划,可以搜索对应的API进行使用,大部分情况下不如使用本地数据库,好多查询都有限制。

L-SEE answered 12 years, 10 months ago

Your Answer