相关疑难解决方法(0)

Access-Control-Allow-Origin标头如何工作?

显然,我完全误解了它的语义.我想到了这样的事情:

  1. 客户端从http:// siteA下载javascript代码MyCode.js - 原点.
  2. MyCode.js的响应头包含Access-Control-Allow-Origin:http:// siteB,我认为这意味着允许MyCode.js对站点B进行跨源引用.
  3. 客户端触发MyCode.js的一些功能,它们反过来向http:// siteB发出请求,尽管是跨源请求,但这应该没问题.

好吧,我错了.它根本不起作用.所以,我已经阅读了跨源资源共享,并尝试在w3c推荐中阅读跨源资源共享

有一件事是肯定的 - 我仍然不明白我应该如何使用这个标题.

我完全控制了站点A和站点B.如何启用从站点A下载的javascript代码以使用此标头访问站点B上的资源?

PS

我不想使用JSONP.

javascript cross-domain cors

1050
推荐指数
13
解决办法
144万
查看次数

如何使 HTTP 请求在 Flutter web 中工作?

我正在尝试从我的站点链接中获取数据:http : //mrmatjar.com/kaka/dataaza.php

这是我的代码

import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:mrmatjar_afflite/shopobj.dart';
class Operations{
 static Future<List<ShopObj>> loly() async{
    List<ShopObj> ak= new List<ShopObj>();
      var res = await http.get(Uri.encodeFull("https://mrmatjar.com/kaka/dataaza"),headers: {"Accept":"application/json"});

    print(res);
    var v = json.decode(x.body);
    for(var h in v){
        ak.add(new ShopObj(h['title'], h['cost'], h['earn'], h['image']));
    }
    return ak;
  }
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用。当我运行它时,Web 应用程序中断,当我使用中断点时,它显示了 blinding.dart 的文件调用

http httprequest dart flutter flutter-web

5
推荐指数
2
解决办法
1万
查看次数

为什么CORS没有凭证被禁止?

我试图理解为什么不允许没有凭据的跨域请求(默认情况下,没有设置服务器以返回Access-Control-Allow-Origin标头).如果使用凭据请求,则非常简单 - 如果您已登录,则可以代表您在其他网站上执行某些恶意操作,例如在Facebook上.

例如这个请求:

xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.google.com');
xhr.send();
Run Code Online (Sandbox Code Playgroud)

产生错误(我在Chrome网站的控制台中执行此错误):

XMLHttpRequest无法加载http://www.google.com/.请求的资源上不存在"Access-Control-Allow-Origin"标头.因此,不允许来源" http://stackoverflow.com "访问.

因此,服务器必须向此请求发送适当的头(例如Access-Control-Allow-Origin:*)才能正常工作.

这只是一个简单的请求,不会发送cookie.什么是这种限制的意义?如果允许这样的CORS,可能会发生什么安全问题?

没有凭据 - 我的意思是不发送cookie.XMLHTTPRequest的默认设置是withCredentials = false,这意味着在请求 - 链接中没有发送cookie .

javascript xmlhttprequest same-origin-policy cors

4
推荐指数
1
解决办法
1154
查看次数