gpt4 book ai didi

javascript - 同源策略 : Writes Allowed?

转载 作者:搜寻专家 更新时间:2023-11-01 04:12:46 24 4
gpt4 key购买 nike

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

他们说:

Cross-origin writes are typically allowed....

Cross-origin embedding is typically allowed....

Cross-origin reads are typically not allowed...

我理解第二个项目符号允许将跨源内容(比如来自 CDN)标准嵌入到站点中:

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

但是,允许写入不允许读取是什么意思? “写入”是指我的网站写入另一个网站,还是相反的方向?与“阅读”相同,他们在那里谈论的方向是什么?一些示例将不胜感激。

最佳答案

MDN 举例说明了写入的含义:

Examples are links, redirects and form submissions. Certain rarely used HTTP requests require 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",所以我必须响应用户操作而执行此操作,否则我会被弹出窗口阻止程序绊倒. 但如果我不打开新窗口,我可以随时打开。)

Same with "read", what direction are they talking about there?

他们谈论的是源 A 中运行的代码读取 来自源 B 的信息。因此,如果没有您的信息,我的恶意 example.com 网站将无法读取您银行的网站银行特别允许通过 CORS (这样我就无法窃取有关您的银行帐户的信息,因为您可能正在运行有效的银行业务 session ...)。

此问题的更多答案:Same origin Policy and CORS (Cross-origin resource sharing)

关于javascript - 同源策略 : Writes Allowed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50933122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com