我正在使用$ _get进行简单的页面重定向。 我刚刚开始学习如何清理用户输入,所以我想知道下面的代码是否正常。是否有针对此特定代码推荐的其他清理工作?如果是,为什么?
关于以下代码。我检查了用户输入的值,然后在重定向之前将值与可接受值列表进行匹配。
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$PAGES = array('a', 'b', 'c', 'd', 'z');
if (empty($_GET['letter'])) {
$_GET['letter']="a";
}
if (!in_array($_GET['letter'], $PAGES)) {
$_GET['letter']="a";
}
$letter=$_GET['letter'];
$goto=$letter .".php";
header("Location: http://$host$uri/$goto");
答案 0 :(得分:0)
Apache,mod_rewrite会更好。
答案 1 :(得分:0)
作为日志,你将$ _GET ['letter']保存在一组$ PAGES中,我认为你会没事的。但是,你的代码非常糟糕!
可能这会对你有所帮助: PHP switch with GET request
也许你会对使用Zend Framework MVC感兴趣。
http://framework.zend.com/manual/en/zend.controller.quickstart.html
您也可以找到mod_rewrite的示例。快乐阅读!!!