首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止Showdown删除脚本标记?

如何防止Showdown删除脚本标记?
EN

Stack Overflow用户
提问于 2021-01-09 18:08:10
回答 2查看 165关注 0票数 0

我正在测试一些东西,并试图把它放到Showdown中:

代码语言:javascript
复制
<script>alert("hacked!");</script>

当然,它没有警告任何事情(Showdown是为了防止这类事情),但是<script>标记被完全删除了。我使用它作为用户描述,所以脚本标记(以及它的内容)应该是可见的,而不是执行。

我在想,我很可能需要修改一些内置于Showdown代码中的代码,但在它的代码中找不到任何位置,我应该只将其更改为,向显示脚本标记,而不执行标记。

有人知道任何现有的选项或对源代码的一些更改来显示这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-11 19:34:16

我找到了答案:我只需要用一些可见的东西替换<script>标记的开始和结束,比如&lt;script&lt;/script&gt;

这是我使用的代码:

代码语言:javascript
复制
myshowdownhtml.split("<script").join("&lt;script").split("<"+"/script>").join("&lt;/script&gt;");
票数 0
EN

Stack Overflow用户

发布于 2021-01-09 18:23:21

我在代码中找到了这个位置,它负责散列HTML标记,例如:<script></script>

https://github.com/showdownjs/showdown/blob/a9f38b6f057284460d6447371f3dc5dea999c0a6/src/subParsers/makehtml/hashHTMLBlocks.js

我认为你应该只删除文件中的第329行

https://github.com/showdownjs/showdown/blob/a9f38b6f057284460d6447371f3dc5dea999c0a6/src/converter.js

一切都应该正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65645929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档