在 PHP 中,可以通过多种方式来识别并阻止 URL 被篡改的访问。以下是一些常见的方法:
- 基本身份验证:使用 PHP 的
$_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 中添加一个唯一的令牌,每次访问时都需要提供正确的令牌。在服务器端,可以验证令牌的有效性。如果令牌无效,则可以阻止访问。
// 在 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 被篡改的访问。请注意,这些方法并不是绝对安全的,但它们可以提高安全性并减少潜在的风险。在实际应用中,应该结合其他安全措施来确保网站的安全性。
@漏刻有时
来源地址:https://blog.csdn.net/weixin_41290949/article/details/132634233