<?php // ถ้าทดสอบกับ ไอพีตัวเอง ต่อไปแม้ลบไอพีแล้วมันจะจำค่าอยู่ ยังเข้าไม่ได้ ต้อง clear browsing data > history cookie cache ..
/*
$ips_to_redirect = array(
'157.55.39.58',
'207.46.13.92',
'207.46.13.126',
'40.77.167.20',
'40.77.167.27',
'40.77.167.33',
'40.77.167.76',
'52.167.144.23',
'52.167.144.24',
'52.167.144.140',
'52.167.144.145',
'52.167.144.191',
'52.167.144.218',
'52.167.144.238',
);
// Get the visitor's IP address
$user_ip = $_SERVER['REMOTE_ADDR'];
// Check if IP address matches any in the list
if (in_array($user_ip, $ips_to_redirect)) {
// Send a 301 redirect header to the target URL
header("Location: http://www.vir9.com", true, 301);
// Exit the script to prevent further execution
exit();
}
// ช่วงไอพี https://bard.google.com/chat/427f9e1e2994f84b
// ... Rest of your sss.php code ...*/
?>
เพื่อให้ block มีผลกว้างขึ้น จะ block แบบช่วงไอพี
ใช้ strpos
<?php
// ตรวจสอบ IP address ของผู้ใช้
$user_ip = $_SERVER['REMOTE_ADDR'];
// ตรวจสอบว่า IP address ของผู้ใช้ขึ้นต้นด้วย '52.167.144.*' หรือ '40.77.167.*' หรือ '207.46.13.*' หรือ '157.55.39.*' หรือไม่
if (strpos($user_ip, '52.167.144.') === 0 || strpos($user_ip, '40.77.167.') === 0 || strpos($user_ip, '207.46.13.') === 0 || strpos($user_ip, '157.55.39.') === 0) {
echo "<h1>Your IP address is blocked.</h1>";
// Redirect ไปยัง URL ที่กำหนด
header("Location: https://www.cymiz.com/request/warning.php", true, 301);
exit();
}
// ... Rest of your sss.php code ...
?>
ใช้ Regex
<?php
$user_ip = $_SERVER['REMOTE_ADDR'];
// ตรวจสอบว่า IP address ของผู้ใช้ตรงกับ Regex หรือไม่
if (preg_match('/^(52\.167\.144|40\.77\.167|207\.46\.13|157\.55\.39)\.\d+$/', $user_ip)) {
echo "<h1>Your IP address is blocked.</h1>";
// Redirect ไปยัง URL ที่กำหนด
header("Location: https://www.cymiz.com/request/warning.php", true, 301);
exit();
}
// ... Rest of your sss.php code ...
?>
- ใช้ Regex
^(52\.167\.144|40\.77\.167|207\.46\.13|157\.55\.39)\.\d+$
แทนการใช้strpos
หลายตัว - Regex นี้จะตรวจสอบว่า IP address ของผู้ใช้:
- ขึ้นต้นด้วย
52.167.144
หรือ40.77.167
หรือ207.46.13
หรือ157.55.39
- มีรูปแบบ
xxx.xxx.xxx.xxx
โดยที่xxx
เป็นตัวเลข 0-255
- ขึ้นต้นด้วย
- การใช้ Regex นี้ทำให้โค้ดสั้นลงและอ่านง่ายขึ้น
- โค้ดแรกใช้
strpos
หลายตัวเพื่อตรวจสอบ IP address แต่ละตัว - โค้ดที่สองใช้ Regex เพียงตัวเดียวเพื่อตรวจสอบ IP address ทั้งหมด
ข้อดีของการใช้ Regex:
- โค้ดสั้นลงและอ่านง่ายขึ้น
- ตรวจสอบ IP address หลายตัวได้ง่าย
- เพิ่ม/ลบ IP address ได้ง่าย
ข้อเสียของการใช้ Regex:
- อาจจะยากกว่าสำหรับผู้เริ่มต้น
- อาจจะทำงานช้ากว่า
strpos
ในบางกรณี
ทั้งสองวิธีสามารถใช้เพื่อตรวจสอบ IP address ของผู้ใช้และ Redirect ไปยัง URL ที่กำหนด
การเลือกวิธี:
- ขึ้นอยู่กับความชอบของคุณ
- โค้ดที่สองอาจจะอ่านง่ายกว่าและ maintain ง่ายกว่า