【发布时间】:2012-05-25 11:33:40
【问题描述】:
我已经研究这个问题几个小时了。 我有一个带有文本区域的表格。我使用 nicEdit 文本编辑器。它替换了 textarea 并显示了一个不错的文本编辑器,因为我希望我的用户为他们的内容添加一些样式。
我使用 codeIgniter (PHP),并使用 form_helper 创建表单。我也使用 form_validation 进行 ss-validation 和 jquery 验证进行 cs-validation
当我单击提交时,表单提交似乎很好。我这样说是因为我使用 fiddler(一个 http 记录器),并且我看到我的文本被文本编辑器包裹着正确的 html 标签。
但是当我在视图中获取@_pots 数据时,不知何故,部分标签已被删除。
fiddler 如何跟踪 HTTP 调用和提交的表单数据(似乎正确)
Hello SO, <br><br>
<span style="font-weight: bold;">the following line should be bold</span><br><br>
<span style="font-style: italic;">the following line should be italic</span><br><br>
<span style="text-decoration: underline;">the following line should be underlined</span><br>
我的 html 在我的视图和我的@_post 数据的 print_r 结果中的外观
Hello SO,<br><br>
<span bold;"="">the following line should be bold</span><br><br>
<span italic;"="">the following line should be italic</span><br><br>
<span underline;"="">the following line should be underlined</span><br>
看起来不知何故,当我取回我的数据时,它会删除 style="font-weight
$_post 对特殊字符有什么作用吗?!?!有人遇到过类似的问题吗? 非常感谢所有回复。
【问题讨论】:
-
您是否有任何可能影响内容的验证规则(通过 jQuery 验证的客户端或通过 CodeIgniter 的 form_validation 库的服务器端)?如果没有看到更多代码,几乎不可能肯定地说。
-
是的,我有一些验证规则……但出于测试目的,我关闭了规则……但仍然遇到同样的问题。我一直在进一步测试,我有一些更新。请稍候
-
另外,确保安全类没有对 html 做任何奇怪的事情(以防止 xss)。 codeigniter.com/user_guide/libraries/security.html
-
就像@mazzzzz 说的那样.. 但更具体地说,您是否在配置中使用它。:
$config['global_xss_filtering'] = TRUE;? ...或者(手动)这个:$this->input->post('yourInputName', TRUE)?如果是这样,请尝试其中一种,看看你得到了什么:在你的配置中:$config['global_xss_filtering'] = FALSE;,或者,$this->input->post('yourInputName', FALSE) -
我想我找到了问题的原因...例如,在 Chrome 中,它在 标签中包含粗体...仅在 Firefox 中它会将它们包装在一些有点愚蠢的 我发现萤火虫在代码中添加了这一行: _moz_dirty="" 这可能会导致问题?!?!抱歉让您久等了,我的互联网连接中断了一个小时。
标签: codeigniter special-characters nicedit