【发布时间】:2010-08-14 13:23:40
【问题描述】:
我正准备在php中基于$_GET数组设置一个请求路由系统。
例如,对于 url ?r=login,我会使用 include myfiles/".$_GET['r'].".php";
这会自动指向 myfiles/login.php
我知道我需要清理 get 输入,但我担心可能会恶意重定向包含。谁能建议如何防止这种情况?我也可以在调用之前检查文件是否确实存在?
我有一些自己的想法,我只是想知道我没有错过任何考虑。
【问题讨论】:
-
如果我在 get 变量之前使用绝对路径设置包含,这会阻止重定向到站点外吗? (我正在考虑将包含内容放在网络根目录之上,不公开)。