- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在 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();
(在那种特定情况下,因为我有 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/
我的 coinbase 支付按钮不会显示。我从 coinbase 收到此错误消息: 拒绝显示' https://coinbase.com/transactions ' 在框架中,因为它将 'X-Fra
我有一个 Web 应用程序,它作为托管在单个父窗口中的多个 iframe 运行(基本上是修改后的 GWT)http://en.wikipedia.org/wiki/Google_Web_Toolkit
CORS 表示: A web application executes a cross-origin HTTP request when it requests a resource that has
假设我有一个 CPU 密集型 iframe。 它与父页面在同一个域中,因此不适用跨域,因此它共享父页面的事件循环。 是否可以为 iframe 提供一个单独的 JS 上下文(包括一个单独的事件循环),这
我是一名优秀的程序员,十分优秀!