PHP函数parse_ini_file()真的如此危险吗?
一些托管服务提供商禁用
PHP函数parse_ini_file().
任何在那里使用它的尝试都将失败,错误“parse_ini_file()因安全原因而被禁用”. 这种配置非常普遍,Joomla是最受欢迎的CMS之一,它避免直接使用parse_ini_file()来支持将任务分为两个步骤: >使用file_get_contents()读取文件内容 我的问题是,使用parse_ini_file()如何被视为安全威胁,或者如何禁用PHP函数parse_ini_file()可以提高安全性? 这可能是骗局吗? 解决方法
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文件并返回结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |