【问题标题】:Embed JavaScript in GitHub README.md在 GitHub README.md 中嵌入 JavaScript
【发布时间】:2014-02-15 22:15:03
【问题描述】:

我想在 GitHub README 文件中嵌入推文。 Markdown 应该支持这一点,但是当我添加从推文复制的代码时,JavaScript 不会被渲染。

例子:

<blockquote>...</blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

有什么想法吗?

【问题讨论】:

  • 我不确定你是否可以在 Markdown 中嵌入 JavaScript。
  • 您确实意识到,如果我可以在此评论中嵌入 JavaScript,我可以四处寻找新问题,帮助您否决几个问题,为您发布新问题,更改您的姓名或个人资料图片,让你被禁止,对吧?您认为在您的网站上允许任何脚本是个好主意吗?您更有可能通过让 Github 启用 Markdown 嵌入或其他方式来嵌入推文。

标签: javascript github markdown


【解决方案1】:

直接在网站上允许来自第三方的 javascript 具有巨大的 XSS 攻击影响。例如,有人可以使用 javascript 代码获取与任何访问者的 github 帐户关联的 cookie,并将它们转发给恶意实体。

还有潜在的麻烦,因为访问 javascript 意味着可以访问访问者的 CPU 并能够执行弹出窗口或闪烁文本等操作。

因此,自述文件中不支持 javascript 是很自然的。 Markdown可能有办法做到这一点,但绝不会在 GitHub 之类的网站上使用。

但是,你可以在你的项目的github page 上进行,如果你有的话,因为它不属于主 github 网站并且域也不相同。

【讨论】:

  • 好吧,如果您拥有自述文件,那么您为什么要保护自己免于制作闪烁的文本?按照这种逻辑,我们应该在网站上禁用 javascript,因为网站的所有者可能“能够做诸如弹出窗口或闪烁文本之类的事情”
  • JavaScript 还可以更改 GitHub 的登录表单的操作,以便登录将用户的凭据发送到您自己的恶意服务器。然而,这可以通过强制 js 按照 D1plo1d 的建议在 iframe 中运行来缓解。
  • 他们最近允许您自定义您的个人资料主页,所以我试图在其中加载一个 JavaScript 游戏; source
【解决方案2】:

作为coyotte508回答的后续(抱歉,积分不够直接回复):

如果 Github 要启用这样的功能,他们可以使用 iFrames 作为对抗 XSS 的有效措施,就像 ReadTheDocs 一样。

编辑:您可能还想查看 readthedocs.org 作为 Github README.md 的替代品。它们支持在 rst 文件中嵌入 javascript。

【讨论】:

    猜你喜欢
    • 2016-10-11
    • 2021-10-11
    • 2017-10-26
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 2014-08-08
    • 2023-01-01
    • 2015-10-08
    相关资源
    最近更新 更多