如何使用gist markdown嵌入Google-CSE?

问题描述 投票:0回答:1

我想在gist markdown上嵌入Google-CSE,然后将其嵌入到Medium中。

最终目的:在Medium上显示搜索栏

尝试:

1.不能将Google-CSE直接嵌入Medium。

https://i.imgur.com/DPGiV6X.jpg


2.使用标记嵌入要点(全部失败)

2-1.<iframe></iframe>

2-2.<object></object>

2-3.<script></script>

<script>
  (function() {
    var cx = '015605450483368086706:7jlic1sqlvi';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
</script>
<gcse:search></gcse:search>

2-4.<embed src="https://cse.google.com/cse?cx=018064005093677680301:cmhz2glhxjy" width=200 height=200 />


谢谢你的任何建议。

markdown embed gist google-custom-search medium.com
1个回答
0
投票

您不能在任何GitHub.com页面上嵌入任何内容,包括要点。

GitHub在github/markup中记录了他们的整个标记处理过程。相关的是第2步:

  1. HTML被消毒,积极地删除可能伤害你和你的亲属的东西 - 例如script标签,内联样式和classid属性。

清洁剂将删除在页面中嵌入大部分内容所需的任何部分。该文件的previous version指向实际的sanitation filter,其中不允许使用scriptiframeobjectembed标签(技术上,过滤器不允许whitelist上没有的所有内容,并且所有这些标签都不在白名单上)。过滤器从文档中剥离所有不允许的标记和/或属性及其内容。由于删除了过滤器链接的update没有提供任何解释,我们无法确定GitHub是否仍然使用相同的过滤器,但是如果他们更改了过滤器,那么新过滤器将具有非常相似的行为是合理的。

如果您很好奇为什么GitHub会觉得有必要禁止这些事情,那么我建议您了解跨站点脚本(XSS)的危险性。毫无疑问,还有其他可能的攻击也会阻止这种攻击,但XSS本身就足够严重,无法证明不允许任何类型的第三方脚本。

© www.soinside.com 2019 - 2024. All rights reserved.