dvwa-php.ini的小学习

这是一个由于翻译问题引发的“血案”。

这两天做DVWA(不知道什么时候暗戳戳升级到v1.10)练习,做到File Inclusion的high-level时,发现不能远程文件包含,一查php.ini文件,发现allow_url_include没有设置为On(默认设置为Off),再查官方文档,发现是自己没有提前修改php的配置(自己的锅,哭着也要背QAQ)。


DVWA的README.md中说明

但是,我在DVWA的根目录下发现了一个php.ini文件。


打开里面一看,发现里面只有这几行,但是亮点在注释:这个文件尝试覆盖原本的php.ini文件,并不是总是有效。显然,我这是无效的。

然后就想,如果在不修改php.ini的前提下,还可以怎么样修改allow_url_include。查看官方文档,发现allow_url_include可修改的范围是 PHP_INI_ALL,根据截图,可以认为在哪都可以修改allow_url_include这个参数。



然后决定在网站根目录下的.htaccess中修改。

但是发现然并卵,没有用!!!!执行命令var_dump(ini_get('allow_url_include'));发现,结果为string(1) "1",那就是说.htaccess并没有起作用。
又一个突然,翻到php.net的英文版,看到.....赤裸裸的写着“PHP_INI_SYSTEM”!!!这是神仙打架了嘛?

于是乎,找了一条在中英文版中都是PHP_INI_ALL的配置选项

php.ini默认不变,为128M,在.htaccess中修改为256M。然后再var_dump一下,发现结果是改变的。


所以,最终的结论就是allow_url_include的可配置范围是PHP_INNI_SYSTEM,只能在php.ini或httpd.conf中修改,暂时没有其他途径可以修改。php中文文档翻译出错了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。