【问题标题】:How to use gist markdown embed Google-CSE?如何使用 gist markdown 嵌入 Google-CSE?
【发布时间】:2019-04-02 01:31:16
【问题描述】:

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

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

试过了:

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

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


2.使用markdown embed on gist(全部失败)

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.&lt;embed src="https://cse.google.com/cse?cx=018064005093677680301:cmhz2glhxjy" width=200 height=200 /&gt;


感谢您的任何建议。

【问题讨论】:

    标签: markdown embed gist google-custom-search medium.com


    【解决方案1】:

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

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

    1. 对 HTML 进行了清理,积极删除可能伤害您和您的家人的内容,例如 script 标签、内联样式和 classid 属性。

    清理程序将删除在页面中嵌入大多数内容所需的任何部分。该文档的previous version 指向实际的sanitation filter,它不允许scriptiframeobjectembed 标签等(从技术上讲,过滤器不允许所有不在@987654324 上的标签@ 并且所有这些标签都不在白名单上)。过滤器从文档中删除所有不允许的标签和/或属性及其内容。由于删除了过滤器链接的update 没有提供任何解释,我们不能确定 GitHub 是否仍然使用相同的过滤器,但可以合理地预期,如果他们更改了过滤器,新的过滤器会有非常相似的行为。

    如果您好奇 GitHub 为何会觉得有必要禁止此类事情,那么我建议您了解跨站点脚本 (XSS) 的危险。毫无疑问,这也可以防止其他可能的攻击,但是 XSS 本身肯定是严重到足以证明不允许任何类型的任何第三方脚本是合理的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-20
      • 2021-04-24
      • 2013-04-21
      相关资源
      最近更新 更多