Codeigniter global_xss_filtering

标签 codeigniter xss

在我的 codeigniter 配置中,我有 $config['global_xss_filtering'] = TRUE; .在我的管理部分,我有一个 ckeditor 生成前端内容。

输入并放置在编辑器中的所有内容都可以正常工作,图像显示效果很好,html 可以正常工作。除了闪光灯。每当我切换到 html 模式并粘贴 youtube 代码段时,它都会被转义,并且代码在首页上可见,而不是显示 youtube 电影。

如果我设置 $config['global_xss_filtering'] = FALSE; youtube 代码按原样传递。这是因为 'object'、'embed' 等被 CI 标记为“顽皮”并因此被转义。

如何绕过这种 Controller 方法的 xss 过滤?

最佳答案

默认情况下将其关闭,然后在真正需要它的地方启用它。

例如,我为所有 Controller 关闭了它,然后为评论、页面等启用它。

您可以做的一件事是创建一个 MY_Input(或 CI 2 中的 MY_Security),就像 PyroCMS 中的一样,并使用精确副本覆盖 xss_clean 方法,减去对象|嵌入|正则表达式的一部分。

http://github.com/pyrocms/pyrocms/blob/master/system/pyrocms/libraries/MY_Security.php

这是一个很长的路要走,但它确实有效。

也许我们可以创建一个配置选项来列出 2.0 的坏元素?

关于Codeigniter global_xss_filtering,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3899777/

相关文章:

php - 将默认值为空的非空列保留为空白时出现 MySQL 错误 1366

php - 检索数据库值,然后用数据库外的图像替换值

javascript - 转义所有输入类型的 TEXT 上的所有特殊字符以防止 XSS

c# - .NET 中具有特定 src 属性值的 IFrame 的反 XSS 清理

javascript - 如何正确应对Chrome X-XSS-Protection?

html - CSS - 改变按钮颜色?

php - Codeigniter Active Record - 选择字符串作为列

CodeIgniter - 在模型内调用方法?

javascript - 使用AJAX并设置innerHTML安全吗?

javascript - Chrome 扩展、内容脚本和 XSS 攻击