2010年10月7日 星期四

PHP IP轉址 & IP位址判斷語法

PHP 轉址(無條件)
<?php header("location: http://blog.play.idv.tw/")?>

PHP轉址(判斷IP)
<?php
$remote_ip=substr($_SERVER['REMOTE_ADDR'],0,9) ; //substr 取部份字串

//如果 ip 為 61.66.56. 則導向 http://www.reg.idv.tw ,否則導向 http://tw.yahoo.com

if ($remote_ip=="61.66.56.") {
header( 'Location: http://www.reg.idv.tw' );
}
else {
header( 'Location: http://tw.yahoo.com' );
}

?>


判斷二個網段的IP
<?php
$ip_address=$_SERVER['REMOTE_ADDR'];
$ip=explode("." , $ip_address);

if (($ip[0]=="163" && $ip[1]=="23" && $ip[2]=="112" && $ip[3]>="128" &&
$ip[3]<="190") || ($ip[0]=="172" && $ip[1]=="20" && $ip[2]=="1")){
echo "163.23.112.128-190及172.20.1.的網段" ;
}
else {
echo "其他網段的IP" ;
}

?>

PHP 與 HTML 結合
<?php
$ip_address=$_SERVER['REMOTE_ADDR'];
$ip=explode("." , $ip_address);

if (($ip[0]=="163" && $ip[1]=="23" && $ip[2]=="112" && $ip[3]>="128" &&
$ip[3]<="190") || ($ip[0]=="172" && $ip[1]=="20" && $ip[2]=="1")){
?>

<html>
<head>
<meta http-equiv="Content-Language" content="zh-tw">
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>校內瀏覽的資訊</title>
</head>
<body>
<h1 align="center">校內瀏覽的資訊</h1>
<p align="center">Your IP:<?=$ip_address?></p>
<p align="center"> </p>
<p align="center"> </p>
<h1 align="center"> </h1>
<h1 align="center"> </h1>
<h1 align="center">^_^</h1>
</body>
</html>

<?php
}
else {
?>

<html>
<head>
<meta http-equiv="Content-Language" content="zh-tw">
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>sorry</title>
</head>
<body>
<h1 align="center">校外網路無法瀏覽</h1>
<p align="center">Your IP:<?=$ip_address?></p>
<p align="center"> </p>
<h1 align="center"> </h1>
<h1 align="center"> </h1>
<h1 align="center">>_<</h1>
</body>
</html>

<?php
}
?>


部份引用來源:
村東網路論壇資訊組長聯誼會