编辑器中写入 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. 大家有解决这个问题的方案吗?

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

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

file

5年前 评论

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