javascript - 是 Primefaces p :editor safe to use?

标签 javascript security primefaces xss

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

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

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

输出是相同的(我得到一个简单的文本,没有执行 js),直到我打开选项“显示源”并输入相同的内容。现在,当我尝试显示文本时,执行了 javascript 并破坏了页面。

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

最佳答案

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

http://courses.coreservlets.com/Course-Materials/pdf/jsf/primefaces/users-guide/p-editor.pdf

粗体 • 斜体 • 强调 • 删除线 • 下标 • 上标 • 字体 • 尺寸 • 风格 • 颜色 • 强调 • 子弹 • 编号 • 左对齐 • 中央 • 右对齐 • 证明合法 • 撤消 • 重做 • 规则 • 图片 • 关联 • 取消链接 • 切 • 复制 • 粘贴 • 粘贴文本 • 打印 • 来源 • 突出 • 缩进 • 移除格式

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

例如:

关于javascript - 是 Primefaces p :editor safe to use?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15972696/

相关文章:

javascript - react native map 执行任务 ':react-native-maps:checkDebugManifest'失败

security - JavaCard - ECC over GF(2^n) 的纯软件实现

javascript - PrimeFaces 5.2 及更新版本中图表扩展器属性的替代项是什么

javascript - 函数附加的全局数组在其他地方显示为零长度

php - 脚本在 Ajax 返回值中不起作用

AJAX 登录调用中的 Javascript 散列,更安全?

database - 忘记了* fdb(firebird)数据库的用户名和密码。无论如何,我可以破解这个数据库吗?

javascript - 从 p :remoteCommand - simulating the same using some JavaScript code 的 oncomplete 处理程序调用 JavaScript 函数

jsf - 从 PhaseListener 添加消息

javascript - knockout JS : Get Textbox data from Table under for-each binding