扫码关注官方订阅号
这是我的项目结构:
用以上方法重写的话:如果输入www.***.com/app/*.php,这样的话,虽然代码执行不成功,但是就能知道存在这样的文件(可以猜文件了)
当然我知道现在的有些框架(laravel)有种做法是:index.php和前端资源文件放入public文件夹中(网站root配到public下面)
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
最简单的办法是在与try_files同级的地方写一条root限制这个try_files作用位置。
try_files按其后面的参数顺序检查文件是否存在,返回第一个找到的文件,必然会碰到题主这种安全问题,参考主流框架laravel之类的做法写最省事。
要明白即使用 rewrite 最终效果也是类似的。
因为网站根目录底下的所有文件本身就是应该全部可访问的(或部分不能访问,通过设置强行过滤,比如 .htaccess 文件)。
你可以把整个项目放到一个目录下,比如20161208,然后修改为
20161208
try_files $uri $uri/ /20161208/index.php$is_args$args;
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
最简单的办法是在与try_files同级的地方写一条root限制这个try_files作用位置。
try_files按其后面的参数顺序检查文件是否存在,返回第一个找到的文件,必然会碰到题主这种安全问题,参考主流框架laravel之类的做法写最省事。
要明白即使用 rewrite 最终效果也是类似的。
因为网站根目录底下的所有文件本身就是应该全部可访问的(或部分不能访问,通过设置强行过滤,比如 .htaccess 文件)。
你可以把整个项目放到一个目录下,比如
20161208,然后修改为try_files $uri $uri/ /20161208/index.php$is_args$args;