4
A
回答
5
xss_clean()
函数不会删除全部 HTML会删除/替换被认为危险的特定事物,如<script>
标记。
http://codeigniter.com/user_guide/libraries/security.html
的XSS过滤器会查找常用技术来触发JavaScript或其他类型的代码试图劫持cookie或做其他恶意行为。如果遇到任何不允许的情况,则通过将数据转换为字符实体来使其变得安全。
有人在您的页面注入<p>
标记,虽然可能不需要,但并不是真正有效的攻击。你必须指定你想要用它做什么。在很多情况下,你会想要 HTML输出已被xss_clean()
编辑。
这听起来像你想htmlspecialchars()
或strip_tags()
(注意:这两个非常不同的东西)。如果您想编码的HTML,你也可以使用CI的html_escape()
:
echo html_escape($this->input->post('question'));
如果你想HTML输出,而不是实体,只是本身使用XSS过滤器:
echo $this->input->post('question', TRUE);
echo xss_clean($user_input);
相关问题
- 1. CodeIgniter - 为什么使用xss_clean
- 2. Codeigniter php标签剥离与xss_clean
- 3. 我不能笨
- 4. 不能在笨
- 5. 笨不会夹
- 6. 不能在笨
- 7. 笨不显示
- 8. 不能在笨
- 9. 找不到笨
- 10. 不能笨
- 11. 不能与笨
- 12. 不能在笨
- 13. 不能得到笨
- 14. 笨MIN_LENGTH []不工作
- 15. 图像不是笨
- 16. 笨分页不wotking
- 17. 笨set_message不工作
- 18. 笨
- 19. 笨验证码不工作
- 20. 笨不会重定向URL
- 21. 笨删除查询不能
- 22. 笨路由不工作
- 23. 笨会话不会设置
- 24. 找不到对象! - 笨
- 25. 形式笨不张贴
- 26. 阿贾克斯不笨
- 27. `translate_uri_dashes`不工作笨路线
- 28. 笨基URL不工作
- 29. 笨的index.php不执行
- 30. 笨找不到网址
所以,如果我添加html_escape,我想我不需要添加TRUE,对吧? – 2012-03-03 22:28:28
嘿,是的好点。我不是XSS攻击方面的专家,我不能评论CI的过滤器是多么健壮,但我确实相信对于编码而言,'html_escape()'就足够了。如果你想要有实际的HTML输出,但是需要''xss_clean()'''',但是要过滤掉潜在的危险部分。 – 2012-03-03 22:32:10
查看关于'xss_clean()'的这篇文章:http://stackoverflow.com/a/5346696/398242请记住,转义/编码输出始终依赖于上下文相关 - 没有一个工具可以处理每个作业保证你的安全。 – 2012-03-03 22:38:52