+
23
-

如何防止页面url从指定授权页面打开,不允许单独打开?

如何防止页面url从指定授权页面打开,不允许单独打开?


网友回复

+
15
-

要防止页面 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%

我知道答案,我要回答