编辑器中写入 JavaScript 代码片段并用 <script> 包含会执行这段 JS 代码?

场景复原:

  1. 发布页:http://larabbs.test/topics/create 编辑器中选择 </> ,选择 JavaScript 脚本语言,输入 <script>alert('XSS 漏洞是否存在?')</script> 内容,点击保存后存入数据库中的内容为:<pre><code class="lang-js"><script>alert('XSS 漏洞是否存在?')</script></code></pre>
    file
  2. 编辑新发布的内容,会发现编辑器中的代码片段不见了
    file
  3. 将光标移动到编辑器里面的 JavaScript 代码片段上,并点击进入空白的代码片段,按两次 <- 后退键,就会执行里面的 js 脚本
    file

疑惑点:

  1. 有知道出现这个问题的原因吗?
  2. 执行编辑器里面的 JavaScript 脚本是编辑器的解析问题吗?
  3. 大家有解决这个问题的方案吗?

希望知道的能告知,小弟跪谢!

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

检查下 config/purifier.php, 是不是你自己加入了 script tag ?
正常情况下都会转义:

file

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!