vulnerability_parse_str()变量覆盖

来自三线的随记


vulnerability_parse_str()变量覆盖

parse_str ( string $encoded_string [, array &$result ] ) : void

极度不建议 在没有 result 参数的情况下使用此函数,并且在 PHP 7.2 中将废弃不设置参数的行为。

在函数中动态设置变量会和 register_globals 有同样的问题。

阅读https://www.php.net/manual/zh/security.globals.php,解释了它为什么是危险的。

parse_str() 函数用于把查询字符串解析到变量中,如果没有array 参数,则由该函数设置的变量将覆盖已存在的同名变量。