在我的codeigniter配置中,我有$config['global_xss_filtering'] = TRUE;
.在我的管理部分,我有一个生成前端内容的ckeditor.
键入并放置在编辑器中的所有内容都能正常工作,图像显示效果很好,html正常工作.除闪光外全部.每当我切换到html模式并粘贴youtube代码片段时,它都会被转义,代码在首页上可见,而不是显示youtube电影.
如果我设置$config['global_xss_filtering'] = FALSE;
youtube代码就像它应该传递.这是因为'对象','嵌入'等被CI标记为"顽皮"并因此被逃脱.
如何绕过这个控制器方法的xss过滤?
默认情况下将其关闭,然后为真正需要它的地方启用它.
例如,我关闭了所有控制器,然后启用它以获取注释,页面等.
您可以做的一件事是在PyroCMS中创建一个MY_Input(或CI中的MY_Security),并使用精确副本覆盖xss_clean方法,减去对象| embed | 正则表达式的一部分.
http://github.com/pyrocms/pyrocms/blob/master/system/pyrocms/libraries/MY_Security.php
这是一个很长的路要走,但它确实有效.
也许我们可以创建一个配置选项,可以创建列出2.0的坏元素?