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视频的任何博客文章中保存好运.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...