我在PHP中面临一个URL路由问题。
在我的localhost中,我有两个项目目录:
当我必须访问我的project_one时,我使用localhost/project_one,这个工作是正确的。但是当我在这个localhost/project_one/../../hacking_script中输入时,它是打开的localhost/hacking_script/index.php文件。
那么如何预防呢,我不知道。我能用.htaccess来预防吗?如果是,那怎么做?
发布于 2016-05-02 10:58:56
这就是URL在浏览器中的工作方式。如果你有这个问题的网站:
http://stackoverflow.com/questions/36980771如果你试着:
http://stackoverflow.com/users/../questions/36980771这将重定向到同一页。这是“设计”( Design )提供的状态。
发布于 2016-05-02 13:17:23
如果您是在谈论路由,那么您是在谈论以下内容:
Request -> Router -> GetController -> ExecuteAction这意味着GetController最喜欢include或require一些文件..。有一部分,你需要确保,它只需要允许的文件。例如,使用whitelist (这是推荐的方法)。或者确保不允许像../这样的特殊字符。
https://stackoverflow.com/questions/36980771
复制相似问题