在 PHP 中,可以通过多种方式来识别并阻止 URL 被篡改的访问。以下是一些常见的方法:
$_SERVER['PHP_AUTH_USER']
和 $_SERVER['PHP_AUTH_PW']
变量可以实施基本的 HTTP 身份验证。在访问受保护的页面之前,可以要求用户输入用户名和密码。如果提供的凭据无效,则可以阻止访问。if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
}
// 检查凭据是否有效
if ($_SERVER['PHP_AUTH_USER'] != 'username' || $_SERVER['PHP_AUTH_PW'] != 'password') {
echo 'Access Denied';
exit;
}
// 允许访问受保护的页面
// 在表单中添加隐藏字段
<input type="hidden" name="security_token" value="your_security_token">
// 在服务器端验证表单提交
if (empty($_POST['security_token'])) {
echo 'Invalid form submission';
exit;
}
// 验证隐藏字段的值是否与预期值匹配
if ($_POST['security_token'] != 'your_security_token') {
echo 'Security token mismatch';
exit;
}
// 允许访问受保护的页面
// 在 URL 中添加令牌
$token = generateToken(); // 生成唯一的令牌
$url = 'http://example.com/protected_page?token=' . $token;
// 在服务器端验证令牌
if (empty($_GET['token'])) {
echo 'Invalid URL';
exit;
}
$validToken = generateToken(); // 生成新的令牌进行验证
if ($_GET['token'] !== $validToken) {
echo 'Invalid token';
exit;
}
// 允许访问受保护的页面
这些方法可以帮助识别并阻止 URL 被篡改的访问。请注意,这些方法并不是绝对安全的,但它们可以提高安全性并减少潜在的风险。在实际应用中,应该结合其他安全措施来确保网站的安全性。
@漏刻有时