代码之家  ›  专栏  ›  技术社区  ›  Magnus

同一源策略:允许写入?

  •  3
  • Magnus  · 技术社区  · 6 年前

    我有点挣扎 MDN's description of the same-origin policy .

    他们声明:

    交叉原点 写入 通常允许……

    交叉原点 嵌入 通常允许….

    交叉原点 读取 是典型的 允许。。。

    我明白第二个要点是允许将跨源内容(比如从cdn)标准嵌入到一个站点:

    • <script src="...">
    • <link rel="stylesheet" href="...">

    但是,这是什么意思 允许写入 ,请 不允许读取 是吗?“写入”是指我的站点写入另一个站点,还是相反的方向?和“读”一样,他们说的是什么方向?我们将非常感谢一些例子。

    1 回复  |  直到 6 年前
        1
  •  4
  •   T.J. Crowder    6 年前

    例如链接、重定向和表单提交。某些很少使用的HTTP请求需要 preflight

    例如,我的网站 example.com

    <form action="https://google.com/search" id="kittens-form" target="_blank">
    <input type="hidden" name="q" value="kittens">
    </form>
    

    document.getElementById("kittens-form").submit();
    

    Example on jsFiddle

    target="_blank" ,我必须这样做以响应用户操作,否则我会绊倒弹出窗口拦截器。但是如果我不打开一个新窗口,我可以随时打开。)

    CORS

    Same origin Policy and CORS (Cross-origin resource sharing)