【发布时间】:2013-10-17 12:36:54
【问题描述】:
我正在尝试在 Joomla 2.5 中将 HTML 文本安全地保存到数据库中,因此我使用 JInput 来获取表单数据。
根据developer.joomla.org,有HTML过滤器:
HTML - 返回一个完整的 HTML 实体和标签的字符串,受制于 过滤器中的白名单或黑名单。
根据docs.joomla.org,有这些过滤器应该(从逻辑上说。他们没有在那里解释)通过HTML标签:
RAW、HTML、SAFE_HTML
在 JInput 用于过滤的代码 JFilterInput::clean 中,没有 SAFE_HTML 过滤器。我不知道它在一个文档中做了什么以及为什么另一个文档中缺少 RAW 过滤器。除此之外,所有这些过滤器都会去除 HTML 标签。
只需 $_POST:
$_POST['shortDescription'];
返回
<b>Hello <i>world</i></b>
当我使用 JInput 时:
$input->get('shortDescription', '', 'RAW');
$input->get('shortDescription', '', 'HTML');
$input->get('shortDescription', '', 'SAFE_HTML');
全部返回
Hello world
没有 HTML 标签。那是为了什么?需要安全存储 HTML 时如何使用?
【问题讨论】: