这是我的项目结构:
用以上方法重写的话:
如果输入www.***.com/app/*.php,这样的话,虽然代码执行不成功,但是就能知道存在这样的文件(可以猜文件了)
当然我知道现在的有些框架(laravel)有种做法是:index.php和前端资源文件放入public文件夹中(网站root配到public下面)
这是我的项目结构:
用以上方法重写的话:
如果输入www.***.com/app/*.php,这样的话,虽然代码执行不成功,但是就能知道存在这样的文件(可以猜文件了)
当然我知道现在的有些框架(laravel)有种做法是:index.php和前端资源文件放入public文件夹中(网站root配到public下面)
要明白即使用 rewrite 最终效果也是类似的。
因为网站根目录底下的所有文件本身就是应该全部可访问的(或部分不能访问,通过设置强行过滤,比如 .htaccess 文件)。
8 回答3.8k 阅读
2 回答3.1k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
4 回答1.9k 阅读
1 回答1.4k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
最简单的办法是在与try_files同级的地方写一条root限制这个try_files作用位置。
try_files按其后面的参数顺序检查文件是否存在,返回第一个找到的文件,必然会碰到题主这种安全问题,参考主流框架laravel之类的做法写最省事。