微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – CodeIgniter输入过滤

我正在写一本书籍列表网站,并遇到了codeigniter的xss过滤问题.提交表单以创建列表时,包含“Javascript:”的任何标题都将替换为“[REMOVED]”.我试过从POST数组访问数据,如下所示:

$title = $_POST['title'];

避免使用Input类,但它仍然以某种方式被过滤.有没有办法解决这个问题,而不涉及关闭global_xss_filtering?

解决方法:

Is there any way around this that does not involve turning global_xss_filtering off?

不,谢谢.您必须将其关闭,因为它会在CI执行的早期更改原始发布数据.

关于正确使用xss过滤器,我可能会咆哮5页,但我会尽量保持简洁:

>过滤输出,而不是输入
>始终牢记上下文并妥善逃避(这是HTML?sql?javascript?文本文件?)
>全局过滤器是安全毯.一旦你知道自己在做什么,就可以删除它.

这里只是为什么全局XSS过滤器是一个坏主意的许多悲剧性例子之一:

>用户注册帐户,并将其密码设置为document.write123
>您处理密码,最后散列字符串[已删除] 123
>现在,用户可以使用以下任何密码登录,因为在您对其进行哈希验证之前,这些密码也会被过滤器变为[已删除] 123:

>< script> 123
> document.write123
> document.cookie123
>等等……

这不应该发生.用户不应该使用多个密码登录(除非是设计……我想).

此外,祝您在使用< iframe> s … YouTube视频的任何博客文章中保存好运.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐