我在网站上有一个PHP页面,我希望只能从该网站上的另一个页面访问。
如果用户点击该页面的链接,或键入该页面的地址,并且不是来自该网站的域名,我希望该页面将用户重定向到该索引。
有什么想法吗?
答案 0 :(得分:3)
你可以做的是使用会话。
使索引设置为变量
$_SESSION['visitedIndex'] = TRUE;
并在其他页面中对其进行测试:
if(!$_SESSION['visitedIndex']) {
header('location: ....');
}
确保在第一次回声之前执行此操作。
答案 1 :(得分:1)
您还可以使用$ hash = timestamp +内部密钥或特定规则创建内部服务。
第一页有一个链接 http://www.samesite.com/page_2.php?param=hash
第二页解码哈希并检查给定时间间隔的时间戳。否则它会拒绝显示。
只有你知道内部密钥是不可能伪造的。
答案 2 :(得分:0)
检查'Referer'字段?
很容易被黑客攻击。更可靠的方法是检查使用的是否没有活动会话(如果您的站点将其分配给访问者)。
答案 3 :(得分:-2)
请使用裁判:
if ($_SERVER['HTTP_REFERER'] != "...") {
header("LOCATION: othersite");
}