我从数据库收到以下文字:
[Alt]+[Enter]
此文本存储在名为seq<'a> -> 'a
的变量中。一旦<div onclick="alert('código inyectado');">Texto</div>
[img]http://www.hobbyconsolas.com/sites/hobbyconsolas.com/public/media/image/2015/07/503196-halo-5-guardians-nuevos-datos-campana-cooperativa.jpg[/img]
Y aquà una URL: [url]https://www.google.es/?gws_rd=ssl[/url]
Bueno pues vamos [b]a ver si esto funciona[/b] porque "todavÃa" no lo sé [i][u]bien[/u][/i]
应用于变量,我就会经历我发现问题的地方:
$texto
但是没有修改。如果删除字符htmlspecialchars()
,我该如何解决此问题?
答案 0 :(得分:0)
我会说不要进行htmlspecialchars()
来电,只需拨打str_replace()
一次:
代码:(Demo)
$texto="<div onclick="alert('código inyectado');">Texto</div>
[img]http://www.hobbyconsolas.com/sites/hobbyconsolas.com/public/media/image/2015/07/503196-halo-5-guardians-nuevos-datos-campana-cooperativa.jpg[/img]
Y aquà una URL: [url]https://www.google.es/?gws_rd=ssl[/url]
Bueno pues vamos [b]a ver si esto funciona[/b] porque "todavÃa" no lo sé [i][u]bien[/u][/i]";
//$texto=htmlspecialchars($texto);
$texto = str_replace([""","<",">"],['"','<','>'],$texto);
var_export($texto);
输出:
'<div onclick="alert(\'código inyectado\');">Texto</div>
[img]http://www.hobbyconsolas.com/sites/hobbyconsolas.com/public/media/image/2015/07/503196-halo-5-guardians-nuevos-datos-campana-cooperativa.jpg[/img]
Y aquà una URL: [url]https://www.google.es/?gws_rd=ssl[/url]
Bueno pues vamos [b]a ver si esto funciona[/b] porque "todavÃa" no lo sé [i][u]bien[/u][/i]'
fyrye的建议产生了这个 - 如果这是你正在拍摄的:
'<div onclick="alert('código inyectado');">Texto</div>
[img]http://www.hobbyconsolas.com/sites/hobbyconsolas.com/public/media/image/2015/07/503196-halo-5-guardians-nuevos-datos-campana-cooperativa.jpg[/img]
Y aquà una URL: [url]https://www.google.es/?gws_rd=ssl[/url]
Bueno pues vamos [b]a ver si esto funciona[/b] porque "todavÃa" no lo sé [i][u]bien[/u][/i]'
答案 1 :(得分:0)
听起来你是双重编码。为避免双重编码,您可以使用。
htmlspecialchars($texto, ENT_QUOTES, 'UTF-8', false);