如何防止页面url从指定授权页面打开,不允许单独打开?
网友回复
要防止页面 URL 从指定授权页面之外的页面打开,可以采取以下几种方法:
1. 使用 Referer 头检查通过检查 HTTP 请求头中的 Referer 字段来判断请求来源。如果 Referer 不是授权页面的 URL,则拒绝访问。
注意:Referer 头并不是总是可靠的,因为用户可以伪造或禁用 Referer 头,因此这种方法不适用于安全性要求高的场景。
示例(服务器端):
// PHP 示例 $referer = $_SERVER['HTTP_REFERER']; $allowed_referer = 'http://example.com/authorize.php'; if (!isset($referer) || $referer !== $allowed_referer) { header('HTTP/1.0 403 Forbidden'); echo 'Forbidden'; exit; }2. 使用 Token 机制
在授权页面生成一个随机 token,并将其存储在会话(Session)或 Cookie 中。然后在目标页面检查该 token 是否存在且有效。
步骤:
授权页面:
生成一个随机 token 并存储在会话中。将 token 作为参数传递到目标页面的 URL 中。// 授权页面 session_start(); $_SESSION['token'] = bin2hex(random_bytes(16)); $url = 'http://exampl...
点击查看剩余70%