Javascript Primefaces p:编辑器使用安全吗?

Javascript Primefaces p:编辑器使用安全吗?,javascript,security,primefaces,xss,Javascript,Security,Primefaces,Xss,我的意思是,primefaces p:editor使用html来构造文本,因此我必须将h:outputText的转义属性设置为false,以显示没有html标记的输出 我试着使用这个组件,并输入了以下javascript: <script> $(document).ready(function(){ $("div").text("haha"); }) </script> $(文档).ready(函数(){ $(“div”).text(“

我的意思是,primefaces p:editor使用html来构造文本,因此我必须将h:outputText的转义属性设置为false,以显示没有html标记的输出

我试着使用这个组件,并输入了以下javascript:

<script>
    $(document).ready(function(){
        $("div").text("haha");
    })
</script>

$(文档).ready(函数(){
$(“div”).text(“哈哈”);
})
输出是一样的(我得到了一个简单的文本,没有js执行),直到我打开“showsource”选项并输入了相同的内容。现在,当我试图显示文本时,执行了te javascript并破坏了页面

所以我的问题是:
该组件的方法、实现和使用中是否存在漏洞;还是p:编辑器如此脆弱?我应该使用简单的文本区域,还是有办法从编辑器中删除此选项?

您可以通过属性“controls”禁用编辑器的任何控件

大胆的 • 斜体 • 强调 • 删除线 • 下标 • 上标 • 字体 • 大小 • 风格 • 颜色 • 突出 • 子弹 • 编号 • 左对齐 • 居中 • 右对齐 • 证明正当 • 解开 • 重做 • 规则 • 形象 • 链接 • 解除链接 • 切 • 复制 • 粘贴 • 粘贴文本 • 打印 • 来源 • 外行 • 缩进 • 删除格式

您可以使用上述任何关键字来指定所需的控件

例如:


这与打开浏览器控制台(甚至在url中放入
javascript:…
)并在当前页面的上下文中运行JS没有什么不同。所以,不,这完全是可行的,本身没有安全风险。我明白了,但是如果我将文本保存在DB中,让它显示给其他用户(例如在博客上发表评论),会怎么样?也许我错了,但是脚本会为他们执行吗?我是否应该在保存和删除不需要的、等标记时始终检查文本?(如果这是一个无趣的问题,请回答)是的,没错。所以最后它很简单。不要信任用户提供的数据(例如,在保存时删除恶意文本或在显示时转义恶意文本,关于该主题有很多好文章;)。感谢您的回答:)您是否声称禁用控件足以使编辑器“安全”?如果是这样,是什么阻止攻击者使用JavaScript重新启用这些按钮?