【发布时间】:2011-12-03 17:18:16
【问题描述】:
假设您有一个文本 <INPUT> 作为用户名,他们决定输入
Johnny's Pizza
这在数据库中保存为
Johnny's Pizza
但如果用户决定编辑,我会重新填充文本<INPUT>,如下所示
echo form_input('name', htmlspecialchars($name, ENT_QUOTES, 'UTF-8'));
将显示为
Johnny's Pizza
在输入框内。
PHP.net 有一个comment here 建议使用
echo form_input('name', htmlspecialchars($name, ENT_QUOTES, 'UTF-8', FALSE));
即FALSE指的是$double_encoding,但我还是明白了
Johnny's Pizza
在输入字段中。
有没有办法绕过这种双重编码?在使用ENT_QUOTES 的同时可以解决这个问题吗?
使用 Codeigniter 2.0.3。
【问题讨论】:
标签: php html codeigniter xss htmlspecialchars