为什么即使两个 URL 都来自 XXXX.com,我仍然会收到 405 错误
Why do I still receive 405 errors even though both URLs are from XXXX.com?
我有一个站点,我正在开发我的 REST 端点:
https://prefixone.somesite.com
我还有另一个网站正在开发我的UI框架:
https://prefixtwo.somesite.com
我可以成功登录并在IE中获得200响应。在FF和Chrome中,我得到一个"405方法不允许"。Chrome通过说"XMLHTTPRequest无法加载XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX源 xxxxxx 是访问控制-允许-源不允许的。
这两个网站都在 somesite.com
这种情况是否仍然符合XSS的条件?
您的问题是"为什么即使两个网址都是表单 XXXX.com,我仍然会收到 405?",但实际上,您的 URL 不是来自同一个域。
xxx.yyyy.com
和zzz.yyyy.com
不是同一个域。他们可能共享他们名字的很大一部分,但他们并不相同。
这是因为域内子域的所有者完全有可能由完全独立的人操作。考虑uk.com
.该域名的所有者将其中的三级域名作为标准英国国家级域名co.uk
的竞争对手出售。
xxx.uk.com
和 zzz.uk.com
中的站点是完全不同的站点,您不会期望前者能够在不违反同源策略规则的情况下从后者加载内容。
浏览器不知道哪些域会这样做,哪些不会这样做,所以它很安全,并假设任何两个子域都可以由不同的人操作。
甚至yyyy.com
和www.yyyy.com
也不被认为是一回事。
我希望这能回答你的问题。
至于怎么办...
1)将所有内容放在同一个子域上。将网站拆分到多个子域的最常见原因是为了性能,但除非您正在运营Google或Facebook,否则它不太可能对您的性能至关重要,并且您可能可以先做其他事情,这会更有帮助。此外,新的SPDY协议(即将演变为HTTP v2)将使该技术过时。
2) 如果必须将其拆分到多个子域中,则可能需要考虑使用跨域.xml文件(可以放置在每个服务器上)来授予它们访问彼此内容的显式权限。
基本上在你的代码中,你需要在JavaScript中运行以下内容:
document.domain = "somesite.com";
这将告诉浏览器,就同源策略而言,应该重要的部分somesite.com
不是前缀部分。
在谷歌上查找"文档域"了解更多信息。
同源策略对此进行了限制。顾名思义,它适用于起源,而不是域。源站为全域名+协议+端口号。因此,即使在同一主机上运行的两个页面,如果它们位于不同的端口或协议上,也无法通信。
如果您打算仅支持较新的浏览器,请考虑添加 x-access-control 标头。如果您需要支持较旧的浏览器,请查看easyXDM之类的浏览器。
- 导致 maps.googleapis.com/maps/vt 返回 400 错误的原因
- 为什么即使两个 URL 都来自 XXXX.com,我仍然会收到 405 错误
- 我得到了这个错误,但是不要;我不知道如何修复它,www.example.com/undefined?1460018627
- parse.com javascript地理查询api中的withinFile错误
- 错误:无法查找视图“http://chart.googleapis.com/
- Parse.com 找不到错误代码:141 函数
- 错误验证 W3C HTML5 img noscript facebook.com.
- Parse.com 云代码保存( )错误:“未捕获 尝试使用指向新的未保存对象的指针保存对象
- POST 请求失败,没有错误消息 (Parse.com / ExpressJS)
- blogger.com 函数加载未捕获引用错误 $ 未定义
- 高中水平西班牙语1和2翻译错误(使用 labs.codeacademy.com 制作)
- 如何修复错误;“错误:引导工具提示需要系绳 (http://github.hubspot.com/tether/)”
- Parse.com query.equalTo错误处理
- Parse.com Cloud Code beforeSave()错误:"未捕获尝试用指向新的未保存对象的指针
- 当输入时,如果没有用@和.com等发送电子邮件,则显示错误
- 如何处理parse.com云回调中的错误对象
- ShareThis.com社交媒体按钮点击计数器错误
- Javascript-错误:inQuery Parse.com的102错误类型
- 验证失败,错误parse.com
- 非常奇怪的Parse.com应用程序错误100