我正在开发一个网站,由于用户输入或其他原因,我需要显示一些错误消息。为此,我有一个名为error.php的页面,并使用 $_GET 获取错误号。所有错误消息都存储在一个数组中。
例子:
header( 'Location: error.php?n=11' );
但我不希望用户在 URL 中输入错误代码并查看所有其他错误消息。为了防止这种情况,我认为我可以将引用页面列入白名单,并且仅在我的白名单中找到引用者时才显示错误消息。
它应该与此类似(尚未测试;))
$accept = false;
$allowedReferer = array (0=>'page1.php', 'page2.php');
if (in_array($_SERVER['HTTP_REFERER'], $allowedReferer )) {$accept = true;}
if ($accept) { $n=$_GET['n'];echo "Error: " . $errorList[$n];}
这种方法是否足以避免间谍用户?
我用 PHP5 做这个
谢谢