【发布时间】:2009-02-19 10:56:05
【问题描述】:
我正在开发一个网站,由于用户输入或其他原因,我需要显示一些错误消息。 为此,我有一个名为 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 做这个
谢谢
【问题讨论】:
标签: php error-handling http-referer