phpip判斷
『壹』 php 怎樣判斷一個ip地址是否可以連接,比如說:192.168.0.1可以訪問,192.168.0.115不能訪問
一般的區域網內都用192.168開頭.
ip的通用形式是:xxx.xxx.xxx.xxx
xxx的大小不能超過256.並且根據xxx的大小范圍,對ip分了類.
192.168.開頭的就是c類網.
如果有網關,一般是192.168.0.1
也就是說,區域網內ip不能直接連到互聯網上,要通過這個網關地址的伺服器才能連出去.
互聯網上有很多區域網,192.168.開頭的ip可以多次被使用(但同一區域網內的ip不能重復).
『貳』 php判斷是否是ip
可以用php的preg_matche,進行判斷
if(!preg_matche('/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/', $str)){
echo '不是';
}else{
echo '是';
}
『叄』 php 判斷ip是國內還是國外
需要引用一個PHP的IP庫 ip_php.zip
我在網站頭部引用jquery進行判斷
<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" language="javascript">
function initurl() {
$.ajax({
type:"GET",
url:"checkip.php",
dataType:"html",
data:"&time="+new Date(),
cache: false,
async: false,
beforeSend:function(XMLHttpRequest) {
},
success:function(msg) {
//如果返回值為1表示訪問者為中國地區的ip
if(msg == 1){
//alert('I am China ip');
}
else {
//alert('I am not China ip');
location.href="英文網站";
}
},
complete:function(XMLHttpRequest,textStatus) {
},
error:function() {
}
});
}
</script>
<body onload="initurl()">
...
</body>
checkip.php頁面的代碼
$userip=$_SERVER['REMOTE_ADDR'];
//引用ip庫的文件 把ip.zip里的全部文件放在lib目錄下
include_once('/lib/iplimit.class.php');
$iplimit = new iplimit;
if($iplimit->setup($userip))
{
echo 1;
}
else
{
echo 2;
}
『肆』 php判斷是否是有效IP地址的方法
提供下面兩個方法,供選擇:
functioncheckIp($ip)
{
$arr=explode('.',$ip);
if(count($arr)!=4){
returnfalse;
}else{
for($i=0;$i<4;$i++){
if(($arr[$i]<'0')||($arr[$i]>'255')){
returnfalse;
}
}
}
returntrue;
}
functionisIp($ip){
if(preg_match('/^((?:(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))))$/',$ip)){
return1;
}else{
return0;
}
}