问题描述
我正在测试一些东西并试图将其放入摊牌:
<script>alert("hacked!");</script>
当然它没有发出任何警报(Showdown 是为了防止此类事情发生),但是 <script>
标记被完全删除。我将其用于用户描述,因此脚本标记(及其内容)应该是可见的,只是不执行。
我想我很可能需要更改一些内置的 Showdown 代码,但在代码中找不到任何我应该更改为仅显示脚本标签但的地方不执行。
有没有人知道任何现有的选项或对源代码的一些更改来显示这一点?
解决方法
我在代码中找到了这个地方,它负责散列 HTML 标签,例如:<script>
或 </script>
。
我认为你应该只删除文件中的第 329 行
一切正常。
,我找到了答案:我只需要将 <script>
标记的开始和结束替换为可见的内容,例如 <script
和 </script>
这是我使用的代码:
myshowdownhtml.split("<script").join("<script").split("<"+"/script>").join("</script>");