变量覆盖
十一月 23, 2021
在php中不正确的使用extract()、parse_str()以及import_request_variables()
函数会导致用户输入的变量值覆盖程序中原有的变量。例如更改黑名单
extract()函数
该函数是接受一个数组并把该数组解析成变量,键名为变量名,键值为变量值,
此函数可以接受3个值,第二个值该函数的配置,第三个值是在开启不覆盖原变量的情况下将变量的值附给第三个值
pars_str()函数
该函数是把字符串解析成变量例如“a=1”会被解析成$a=1,如果变量a之前存在,就会被覆盖,还可以加第二值为数组,这样解析出的变量就会存在数组中。
import_request_variables()
该函数会接收POST,COOKIE,GET的值并把他们转化从变量并会覆盖原有的变量可以用GPC代替
$$变量覆盖
1 |
|
在输入?a=1的时候$key=a
所以$$_key就是$a就成了给a赋值的语句
查看评论