PHP函数parse_ini_file()真的如此危险吗?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP函数parse_ini_file()真的如此危险吗?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
一些托管服务提供商禁用 PHP函数parse_ini_file().
何在那里使用它的尝试都将失败,错误“parse_ini_file()因安全原因而被禁用”.
这种配置非常普遍,JooMLa是最受欢迎的CMS之一,它避免直接使用parse_ini_file()来支持任务分为两个步骤:

>使用file_get_contents()读取文件内容
>使用parse_ini_string()解析值,这是奇怪的允许,因此它不被视为安全风险(WTF?)

我的问题是,使用parse_ini_file()如何被视为安全威胁,或者如何禁用PHP函数parse_ini_file()可以提高安全性?

这可能是骗局吗?
我的意思是,也许有人,在过去的某个地方,将parse_ini_file()与ini_set()混淆,并认为parse_ini_file()可以改变PHP环境的配置.
博主可以在这里和那里提供建议,天真的系统管理员可以在不问自己任何问题的情况下遵循这些建议.

解决方法

parse_ini_file尝试范的限制的安全风险是从任意文件读取,而不是解析其内容.

如果您能够读取通常不应访问的文件(例如系统的密码文件;或属于其他用户用户),则从任意文件读取可视为安全威胁.即使文件不是ini格式,parse_ini_file()返回的结果仍然可能提供信息.

PHP< = 5.3.x中,启用safe mode时parse_ini_file()was restricted.在PHP> = 5.4中,安全模式已被删除(有利于要求实际的系统级安全性,而不是语言正在玩失败的游戏,其中越来越多的功能可以从越来越多的创意中读取任意文件方法).

禁止parse_ini_file()的建议是一个旧的,从安全模式仍然是一个东西.它并不比从文件中读取的任何其他PHP函数更危险.现在禁止parse_ini_file()的托管服务提供商(特别是在离开file_get_contents()之后)被误导,从不再有效的旧建议开始操作,即使它有效也具有可疑的好处.

parse_ini_file()的PHP代码中的代码实际上归结为调用与parse_ini_string相同的代码,只是稍微不同的初始化模式(以便可以从文件读取,另一个可以读取字符串).否则,他们使用相同的代码来实际解析ini文件并返回结果.

脚本宝典总结

以上是脚本宝典为你收集整理的PHP函数parse_ini_file()真的如此危险吗?全部内容,希望文章能够帮你解决PHP函数parse_ini_file()真的如此危险吗?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。