Questions tagged «cors»

当您在浏览器devtools控制台中看到有关CORS(跨域资源共享)的消息时,请使用此标记-例如,您的浏览器记录了有关Access-Control-Allow-Origin的错误,并且您想知道如何消除该错误。也要针对CORS协议的其他问题(在Fetch Living标准中定义为使用响应标头告知浏览器放宽同源策略并允许跨域XHR / Fetch / Ajax请求的方式)。


5
被忽略的CORS Access-Control-Allow-Headers通配符?
我在跨域CORS请求中无法正常使用Chrome遇到麻烦。 请求标头: Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Access-Control-Request-Headers:origin, content-type Access-Control-Request-Method:POST Connection:keep-alive User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4 响应头: Access-Control-Allow-Headers:* Access-Control-Allow-Origin:* Allow:GET, POST, OPTIONS Content-Length:0 Date:Tue, 30 Oct 2012 20:04:28 GMT Server:BaseHTTP/0.3 Python/2.7.3 错误: XMLHttpRequest cannot load domain. Request header field Content-Type is not allowed …
118 http  browser  cors 

15
Firefox尽管标头却“跨域请求被阻止”
我正在尝试提出一个简单的跨域请求,而Firefox始终通过此错误阻止它: 跨域请求被阻止:同源策略禁止读取[url]处的远程资源。可以通过将资源移至同一域或启用CORS来解决此问题。[网址] 它可以在Chrome和Safari中正常运行。 据我所知,我已经在PHP上设置了所有正确的标头,以使其正常工作。这是我的服务器响应的内容 HTTP/1.1 200 OK Date: Mon, 23 Jun 2014 17:15:20 GMT Server: Apache/2.2.22 (Debian) X-Powered-By: PHP/5.4.4-14+deb7u8 Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, POST, OPTIONS Access-Control-Allow-Headers: Content-Type Access-Control-Request-Headers: X-Requested-With, accept, content-type Vary: Accept-Encoding Content-Length: 186 Content-Type: text/html 我尝试使用Angular,jQuery和基本的XMLHTTPRequest对象,如下所示: var data = "id=1234" var request = new XMLHttpRequest({mozSystem: true}) request.onload = …


5
那么,JSONP还是CORS?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 改善这个问题 我的WebAPI部署在Intranet环境中。这意味着安全不是我关心的问题。 似乎CORS 对客户更友好,更易于实现。 还有其他我可能错过的问题吗?

8
XMLHttpRequest无法加载XXX No'Access-Control-Allow-Origin'标头
tl; dr; 关于同一原产地政策 我有一个Grunt进程,用于启动express.js服务器实例。直到现在,当它开始为空白页提供服务时,它的工作情况都非常好,在Chrome(最新版本)的开发人员控制台的错误日志中显示以下内容: XMLHttpRequest无法加载https://www.example.com/ 所请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问源' http:// localhost:4300 '。 是什么阻止了我访问该页面?

7
在Firefox中禁用跨域Web安全
在Firefox中,我该如何做相当于--disable-web-security在Chrome中。这已经发布了很多,但从来没有一个真正的答案。大多数都是指向附件的链接(其中一些链接在最新的Firefox中不起作用或根本不起作用),并且“您只需要在服务器上启用支持”即可。 这是暂时的测试。我知道安全隐患。 我无法在服务器上打开CORS,尤其是永远无法允许localhost或类似主机。 标志,设置或其他东西比插件要好得多。我也尝试过:http : //www-jo.se/f.pfleger/forcecors,但是一定有问题,因为我的请求返回为完全空,但Chrome中的相同请求可以返回。 同样,这仅用于测试,然后再推向允许范围内的产品。

16
“ Access-Control-Allow-Origin”标头包含多个值
我在客户端使用AngularJS $ http访问服务器端的ASP.NET Web API应用程序的端点。由于客户端托管在与服务器不同的域中,因此我需要CORS。它适用于$ http.post(url,data)。但是,一旦我对用户进行身份验证并通过$ http.get(url)发出请求,我就会收到消息 “ Access-Control-Allow-Origin”标头包含多个值“ http://127.0.0.1:9000、http://127.0.0.1:9000”,但只允许一个。因此,不允许访问来源“ http://127.0.0.1:9000”。 Fiddler向我展示了在成功的选项请求之后,get请求中确实存在两个标头条目。我在哪里和哪里做错了什么? 更新资料 当我使用jQuery $ .get而不是$ http.get时,出现相同的错误消息。因此,AngularJS似乎没有问题。但是哪里错了?

2
具有CORS Origin标头和CSRF令牌的CSRF保护
此问题仅与防止跨站点请求伪造攻击有关。 具体来说,它是:通过Origin标头(CORS)进行的保护是否与通过CSRF令牌进行的保护一样好? 例: 爱丽丝使用她的浏览器(使用cookie)登录到“ https://example.com ”。我认为她使用的是现代浏览器。 爱丽丝访问“ https://evil.com ”,evil.com的客户端代码对“ https://example.com ” 执行某种请求(经典CSRF场景)。 所以: 如果我们不检查Origin头(服务器端),也没有CSRF令牌,则我们有一个CSRF安全漏洞。 如果我们检查CSRF令牌,我们是安全的(但这有点乏味)。 如果我们确实检查了Origin标头,则应与使用CSRF令牌时一样阻止evil.com客户端代码的请求-除了,除非evil.com的代码可以某种方式设置Origin标头。 我知道,如果使用XHR(例如,跨域资源共享的安全性),这应该是不可能的,至少不能,如果我们相信W3C规范可以在所有现代浏览器中正确实现的话(可以吗?) 但是其他类型的请求呢?例如表单提交?加载脚本/ img / ...标签?还是页面可以用来(合法)创建请求的任何其他方式?还是一些已知的JS hack? 注意:我不是在说 本机应用程序 操纵的浏览器 example.com页面上的跨站点脚本错误, ...

4
错误:Access-Control-Allow-Headers不允许请求标头字段Content-Type
我使用vS2012创建了一个mvc4 Web API项目。我使用以下教程来解决跨域资源共享,“ http://blogs.msdn.com/b/carlosfigueira/archive/2012/07/02/cors-support-in-asp-net-web-api- rc-version.aspx”。它正在成功运行,并且我将数据从客户端成功发布到服务器。 之后,为了在我的项目中实施Autherization,我使用了以下教程来实现OAuth2:“ http://community.codesmithtools.com/CodeSmith_Community/b/tdupont/archive/2011/03/18/oauth-2-0-for -mvc-two-legged-implementation.aspx”。这有助于我在客户端获取RequestToken。 但是,当我从客户端发布数据时,出现错误, “ XMLHttpRequest无法加载http://。Access-Control-Allow-Headers不允许请求标头字段Content-Type。” 我的客户端代码看起来像 function PostLogin() { var Emp = {}; Emp.UserName = $("#txtUserName").val(); var pass = $("#txtPassword").val(); var hash = $.sha1(RequestToken + pass); $('#txtPassword').val(hash); Emp.Password= hash; Emp.RequestToken=RequestToken; var createurl = "http://localhost:54/api/Login"; $.ajax({ type: "POST", url: createurl, contentType: "application/json; charset=utf-8", data: JSON.stringify(Emp), …

18
API网关CORS:无“ Access-Control-Allow-Origin”标头
尽管已通过API网关设置了CORS并设置了Access-Control-Allow-Origin标头,但尝试从Chrome中的AJAX调用API时,我仍然收到以下错误: XMLHttpRequest无法加载http://XXXXX.execute-api.us-west-2.amazonaws.com/beta/YYYYY。所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问原始“空”。响应的HTTP状态码为403。 我试图通过邮递员获取URL ,它显示上述标题已成功传递: 从选项响应中: 如何在不还原为JSON-P的情况下从浏览器调用API?

5
设置跨源请求的Cookie
如何跨源共享Cookie?更具体地说,如何将Set-Cookie标头与标头结合使用Access-Control-Allow-Origin? 这是我的情况的解释: 我正在尝试为localhost:4000在托管的Web应用程序中运行的API设置Cookie localhost:3000。 看来我在浏览器中收到了正确的响应头,但是不幸的是它们没有作用。这些是响应头: HTTP / 1.1 200 OK Access-Control-Allow-Origin:http:// localhost:3000 有所不同:来源,接受编码 Set-Cookie:token = 0d522ba17e130d6d19eb9c25b7ac58387b798639f81ffe75bd449afbc3cc715d6b038e426adeac3316f0511dc7fae3f7; 最大年龄= 86400; 域=本地主机:4000; 路径= /; Expires = Tue,19 Sep 2017 21:11:36 GMT; HttpOnly 内容类型:application / json; 字符集= utf-8 内容长度:180 ETag:W /“ b4-VNrmF4xNeHGeLrGehNZTQNwAaUQ” 日期:2017年9月18日星期一21:11:36 GMT 连接:保持活动状态 此外,Response Cookies当我使用Chrome开发人员工具的“网络”标签检查流量时,可以在下面看到Cookie 。但是,我看不到“应用程序”标签中的设置了Cookie Storage/Cookies。我没有看到任何CORS错误,因此我想我还缺少其他东西。 有什么建议? 更新一: 我在React-Redux应用程序中使用请求模块/signin向服务器上的端点发出请求。对于服务器,我使用express。 快递服务器: res.cookie('token','xxx-xxx-xxx',{maxAge:86400000,httpOnly:true,domain:'localhost:3000'}) …

8
如何在node.js的express.js框架中启用跨域资源共享(CORS)
我正在尝试在node.js中构建Web服务器,该服务器将支持跨域脚本编写,同时仍从公共目录中提供静态文件。我正在使用express.js,但我不确定如何允许跨域脚本(Access-Control-Allow-Origin: *)。 我看到了这篇文章,但对我没有帮助。 var express = require('express') , app = express.createServer(); app.get('/', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); next(); }); app.configure(function () { app.use(express.methodOverride()); app.use(express.bodyParser()); app.use(app.router); }); app.configure('development', function () { app.use(express.static(__dirname + '/public')); app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.configure('production', function () { var oneYear …

6
在HTTP页面上使用https的Ajax
我的网站使用http和https协议;它不会影响内容。我的网站使用jQuery ajax调用,该调用也填充了页面上的某些区域。 现在,我想通过https进行所有ajax调用。(请不要问我为什么:))当我使用https协议的页面时,ajax请求正在工作。在使用http协议的页面上时,出现JavaScript错误:拒绝访问受限制的URI 我知道这是一个跨域问题(实际上,这是一个跨协议问题),并且我知道我应该在ajax调用中使用与当前页面相同的协议。 我仍然希望所有的ajax调用都为https,并在通过http提供的页面上调用它们。是否有任何解决方法来实现这一目标(某些json / proxy解决方案?),还是根本不可能?
101 jquery  ajax  https  cors 

7
通过CORS政策允许任何内容
如何禁用cors?出于某种原因,我通配了允许的来源和标头,但我的ajax请求仍然抱怨我的CORS策略不允许该来源...。 我的应用程序控制器: class ApplicationController < ActionController::Base protect_from_forgery before_filter :current_user, :cors_preflight_check after_filter :cors_set_access_control_headers # For all responses in this controller, return the CORS access control headers. def cors_set_access_control_headers headers['Access-Control-Allow-Origin'] = '*' headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS' headers['Access-Control-Allow-Headers'] = '*' headers['Access-Control-Max-Age'] = "1728000" end # If this is a preflight OPTIONS request, …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.