匹配<?php @eval($_POST['pass']);?>
"/(<|%3c).{1,10}php.{1,10}eval.{3,30}POST(\[|%5b).+(\]|%5d).{3,15}(>|%3e)/i"
- (<|%3c):匹配"<"或者该符号16进制编码
- .{1,10}:"."符号是匹配除了换行符以外,任意字符。该正则的意思为匹配任意字符(除换行符)1~10次。
- .{3,30}:同上,匹配任意字符(除换行符)3~30次
- ([|%5b):匹配"[“或者该符号16进制编码,这里加了一个反斜杠表示转义,因为正则表达式中”["有特殊意义。
- .+:匹配任意字符(除换行符)一次或多次,+表示匹配前一个字符一次或者多次,等价于{1,}。
- (]|%5d):同4
- .{3,15}:同3
- (>|%3e):同1
- i:perl中表示大消息不敏感。