PHP 禁止 IP 段访问是指通过编写 PHP 代码来限制特定 IP 地址段的用户访问网站或应用。这种做法通常用于增强网站的安全性,防止恶意攻击或未经授权的访问。
以下是一个简单的 PHP 代码示例,用于禁止特定 IP 段访问:
<?php
// 定义需要禁止的 IP 段
$blocked_ip_ranges = [
'192.168.1.0/24',
'10.0.0.0/8'
];
// 获取当前用户的 IP 地址
$user_ip = $_SERVER['REMOTE_ADDR'];
// 检查当前用户的 IP 是否在禁止的 IP 段内
$blocked = false;
foreach ($blocked_ip_ranges as $range) {
if (filter_var($user_ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) && ip2long($user_ip) >= ip2long(substr($range, 0, -3)) && ip2long($user_ip) <= ip2long(substr_replace($range, 'ffff', -3)) && substr_count($range, '.') == 3) {
$blocked = true;
break;
}
}
if ($blocked) {
header('HTTP/1.0 403 Forbidden');
echo 'Access denied. Your IP is in the blocked range.';
exit();
}
// 正常处理请求
echo 'Welcome to the website!';
?>192.168.1.0/24。ip2long 函数时,确保 IP 地址是有效的 IPv4 地址。GeoIP 或 IP2Location。ip2long 函数。GeoIP 或 IP2Location 等第三方库来提高性能。通过以上方法,可以有效地禁止特定 IP 段访问 PHP 网站或应用,增强网站的安全性。