ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: pay-skn ที่ 29 เมษายน 2012, 07:07:55



หัวข้อ: ช่วยดูโค้ดสำหรับบล็อกไอพี ให้หน่อยครับ
เริ่มหัวข้อโดย: pay-skn ที่ 29 เมษายน 2012, 07:07:55
<?
$ip_block[] = "61.90.6.123";
$ip_block[] = "61.90.6.124";
$ip_block[] = "180.183.58.233";
$ip_block[] = "180.183.177.48"; // ip ทดสอบ
?>
<?
if($_SERVER["HTTP_X_FORWARDED_FOR"]) {
   $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
   $ip = $_SERVER["REMOTE_ADDR"];
}
?>



<?
foreach($ip_block as $key =>$val) {
  if($ip == $val) {
     echo "ไม่สามารถเข้าเว็บได้";
     exit();
  }
}
?>


ถ้าผมจะแบนไอพี 180.183 โดยไม่กรอง2ตัวเลขไอพีหลัง

เพราะเลขหลังมันเปลี่ยนทุกครั้งรีโมเดมอะครับ 180.183.58.233

แก้โค้ดให้หน่อยครับ


หัวข้อ: Re: ช่วยดูโค้ดสำหรับบล็อกไอพี ให้หน่อยครับ
เริ่มหัวข้อโดย: kobkung ที่ 29 เมษายน 2012, 12:12:35
ใช้ regex หรือ str หาตำแหน่งจุดที่สองนับจากด้านหน้าเอาก็ได้ ลองดูก่อน
แล้วก็นำ array ตัวที่1 คือ array0 เทียบค่า ip 180.183 ถ้าใช่ก็บลอคเลย