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