20,358
社区成员
发帖
与我相关
我的任务
分享
<img src=x onerror =
"alert(1)">
<a onclick=alert(2) href="#">a</a>
上面这样写脚本也是可以执行的,也就是说onerror后面的内容可以有空格、换行等空字符,alert(1)两边可以是单双引号,也可以没有引号。
辛苦了!!!
$s =<<< TXT
<img src=x onerro="alert(1)"><a onclick="alert(2)" href="#">a</a>
<img src=x onerro="alert(1)"><a onclick="alert(2)" href="#">a≶/a>
TXT;
echo preg_replace('/(<\w+.+?)on\w+=".*?"/', '$1', $s);
<img src=x ><a href="#">a</a>
<img src=x onerro="alert(1)"><a onclick="alert(2)" href="#">a≶/a>
$s = '<img src=x onerro="alert(1)"><a onclick="alert(2)" href="#">a</a>';
echo preg_replace('/on\w+=".*?"/', '', $s);
<img src=x ><a href="#">a</a>