在GitHub的README.md中嵌入JavaScript

64
我想在GitHub的README文件中嵌入推文。Markdown应该支持此功能,但是当我添加从推文复制的代码时,JavaScript不会渲染。
例如:
...
有什么想法吗?

1
我不确定你能否在Markdown中嵌入JavaScript。 - Sumner Evans
你知道如果我可以在这个评论中嵌入JavaScript,我可以四处寻找新问题,帮助你踩一些问题,为你发布一个新问题,更改你的用户名或者头像,并将你封禁,对吗?你认为允许任何脚本在你的网站上是一个好主意吗?最好通过请求 Github 启用 Markdown 嵌入来嵌入推文。 - code
2个回答

52
允许第三方在网站上直接使用javascript会带来巨大的跨站脚本攻击(XSS)风险。例如,某人可以使用javascript代码获取与任何访问者的Github账户相关联的cookie,并将其转发给恶意实体。
此外,有了javascript访问权限,还可能产生很多不便之处,比如弹出窗口或闪烁文字等。
因此,在README中自然不支持javascript。Markdown可能有一种方法来实现它,但它永远不会在像GitHub这样的网站上被允许。
但是,如果你拥有项目的github页面,就可以在该页面上使用它,因为它不属于主要的github网站,而且域名也不同。

1
如果你拥有自述文件,为什么要保护自己不制作闪烁文本呢?按照这种逻辑,我们应该禁用网站上的JavaScript,因为网站所有者可能会“能够做出弹出窗口或闪烁文本” - The Muffin Man
2
JavaScript也可以更改GitHub的登录表单操作,以便登录将用户凭据发送到您自己的恶意服务器。但是,正如D1plo1d建议的那样,这可以通过强制js在iframe中运行来减轻风险。 - EricP
最近他们允许你自定义个人主页,所以我试图将一个JavaScript游戏加载进去;来源 - xinthose

17
作为对coyotte508答案的补充(很抱歉,我没有足够的点数直接回复):
如果Github启用这样一个功能,他们可以使用iFrames作为一种有效的防止XSS攻击的措施,就像ReadTheDocs所做的那样。
编辑:您还可以尝试使用readthedocs.org作为Github README.md的替代方案。他们支持在rst文件中嵌入javascript代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接