我们进行了Forify扫描,以查看我们的网站代码,并加强了报告的几个问题。我们正在使用 CodeIgniter 3.1.9框架。他们提到的问题
文件mysqli_utility.php中函数'extract()'的可能变量覆盖。
因为这是CI框架的核心文件,所以我没有直接使用此功能,也不知道CI在何处使用了此功能。 您能否帮助解决Fortify报告的问题?有什么解决方案?
答案 0 :(得分:0)
extract()
将变量从数组导入当前符号表。短语“ 当前符号表”基本上意味着进入代码的当前范围。对于有问题的用法,在类方法中调用extract()
。因此,提取的var的当前作用域将在该方法中,而该方法仅适用于该类的实例。
CodeIgniter的核心代码未定义或使用全局变量。除非为应用程序开发的代码使用全局变量(否则不应将其视为“全局变量”,更像是“过程编程”),否则覆盖的可能性极低。
我很好奇为什么CodeIgniter使用extract
的所有其他时间都没有扫描。