如果从外部站点到达链接,则重定向

时间:2009-06-09 09:04:51

标签: php redirect

我在网站上有一个PHP页面,我希望只能从该网站上的另一个页面访问

如果用户点击该页面的链接,或键入该页面的地址,并且不是来自该网站的域名,我希望该页面将用户重定向到该索引。

有什么想法吗?

4 个答案:

答案 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");
}