仅在从特定页面重定向时才允许访问?

时间:2014-05-25 10:12:47

标签: php forms redirect

我已在我的网站上放置了一个表单,该表单在提交时会将该人重定向到" thankyou page " ,但问题是如果有人直接访问" thankyou页面",它仍然显示我放在那里的东西(谢谢,提交表格和所有东西)。当有人直接尝试访问时,我希望无法访问。只有在有人提交表单(从表单页面重定向)时才会显示它。有没有办法只允许仅在从表单页面重定向时才能访问该页面?
(谢谢你的页面是一个php文件)

2 个答案:

答案 0 :(得分:2)

您可以在thankyou.php页面轻松查看引荐来源。

<?php
    if ($_SERVER['HTTP_REFERER'] == "http://yoursite.com/form.php") {
        // continue
    } else {
        header("Location: http://yoursite.com/form.php");
        exit(); //Stop running the script
        // go to form page again.
    }
?>

另一种方法是将隐藏的表单值放在表单页面中,然后检查该值是否存在。 (但用户仍然可以查看代码并查看隐藏值。)

答案 1 :(得分:1)

在用户提交表单

的页面上
$_SESSION['submitted_form'] = True;

然后在感谢页面上做

if (!isset($_SESSION['submitted_form'])) {
    // deny access
}  else {
    // show real page
}