PHP是一种广泛使用的服务器端脚本语言,特别适用于Web开发。限制IP访问网站是一种常见的安全措施,用于防止未经授权的用户访问特定的网页或资源。
以下是一个简单的PHP示例代码,展示如何通过白名单方式限制IP访问:
<?php
// 定义允许访问的IP地址白名单
$allowed_ips = array("192.168.1.1", "10.0.0.1");
// 获取当前请求的IP地址
$current_ip = $_SERVER['REMOTE_ADDR'];
// 检查当前IP是否在白名单中
if (!in_array($current_ip, $allowed_ips)) {
header("HTTP/1.0 403 Forbidden");
echo "Access Denied";
exit();
}
// 如果IP在白名单中,继续执行后续代码
echo "Welcome to the website!";
?>
$_SERVER['REMOTE_ADDR']
可能返回代理服务器的IP地址,而不是用户的真实IP地址。解决方法是可以检查X-Forwarded-For
头信息来获取用户的真实IP地址。<?php
// 获取真实IP地址
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$current_ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$current_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$current_ip = $_SERVER['REMOTE_ADDR'];
}
?>
通过以上方法,可以有效地限制IP访问网站,并解决常见的相关问题。
领取专属 10元无门槛券
手把手带您无忧上云