preg_match(‘/^php$/im’, $a) 和preg_match(′/^php$/i’, $a) 的意思:
/i表示匹配大小写,/m表示多行匹配 , "行首"元字符 (^) 仅匹配字符串的开始位置**,**而"行末"元字符 ($) 仅匹配字符串末尾,字符 ^ 和 $ 同时使用时,表示精确匹配,需要匹配到以php开头和以php结尾的字符串才会返回true 。
是要求我们多行匹配到php但是单行匹配不到php。
payload:/?cmd=%0aphp
//%0a表示换行符,由题可知可多次使用此符号