首页 > 其他分享 >如何测试跨域

如何测试跨域

时间:2023-08-07 10:35:07浏览次数:27  
标签:Control 跨域 header Allow xhr Access 如何 测试

PHP设置允许跨域:

header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Methods:*');
header('Access-Control-Allow-Headers:*');
header("Access-Control-Request-Headers: *");

或者Nginx配置:
location /{
    #告诉浏览器允许跨域访问的方法
    add_header Access-Control-Allow-Methods *;
    # 告诉浏览器缓存OPTIONS预检请求1小时
    add_header Access-Control-Max-Age 3600;
    #允许带有cookie访问
    add_header Access-Control-Allow-Credentials true;
    #注意 * 不能满足带有cookie的访问,Origin 必须是全匹配,这里通过变量获取
    add_header Access-Control-Allow-Origin $http_origin;
    #设置支持所有的自定义请求头
    add_header Access-Control-Allow-Headers $http_access_control_request_headers;
    #如果预检请求,则返回成功,不需要转发到后端
    if ($request_method = OPTIONS){
        return 200;
    }
}

跨域测试方法
自己测试跨域的时候一致都是写一个单独的项目,用不同的端口运行起来调自己项目中的接口。这样很麻烦,一直以为postman会有测跨域的功能,但没找到。偶然间发现浏览器自己就可以测跨域,方法也很简单,随便打开一个网站后打开【开发者工具】,里面的【Console】可以直接输入js代码测试:

var token= "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleV86IjoiMGY4YTlmYzgtODZmMi00NjM3LWFlNGUtYTdmYTQyMzIzMmYwIn0.9NR3VRvgOg2USyCMyUaBEpZKETj3tn9eIdnQo7vXQH_0hwqWOKAkSxCYNtYOnPoRLEOaJQTVdq22grvvqYU4Fw";
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://127.0.0.1:6060/system/dept/list');
xhr.setRequestHeader("x-access-token",token);
xhr.send(null);
xhr.onload = function(e) {
    var xhr = e.target;
    console.log(xhr.responseText);
}
没有token验证的可以去掉token设置
输入完后直接按回车键就可以返回结果:

标签:Control,跨域,header,Allow,xhr,Access,如何,测试
From: https://www.cnblogs.com/baiwangea/p/17610771.html

相关文章

  • 【我和openGauss的故事】带有out参数的存储过程及自定义函数的重载测试
    【我和openGauss的故事】带有out参数的存储过程及自定义函数的重载测试DarkAthenaopenGauss2023-08-0418:01发表于四川背景先说下数据库里说的函数重载是什么。比如我们知道数据库可能会有同名的函数,但是函数的参数声明不一样selectto_char(sysdate,'yyyymmdd')fromdual;se......
  • 软件测试-Web端测试方法总结
    一、输入框1.字符型输入框1)输入框格式校验英文全角、英文半角、数字、空或者空格、特殊字符“……!@#¥%……&*({【《,。?、:;‘<>’》】})”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。知识点扩展:全角/半角全角:一个字符占用两个标准字符位置半角:一个......
  • 如何构建一个 NodeJS 影院微服务并使用 Docker 部署
    前言如何构建一个NodeJS影院微服务并使用Docker部署。在这个系列中,将构建一个NodeJS微服务,并使用DockerSwarm集群进行部署。以下是将要使用的工具:NodeJS版本7.2.0MongoDB3.4.1DockerforMac1.12.6在尝试本指南之前,应该具备:NodeJS的基本知识Docker的基本知识(并且已经......
  • 如何在 SwiftUI 中创建悬浮操作按钮
    前言悬浮操作按钮(FloatingActionButton,FAB)是一种在Android和MaterialDesign中使用的UI元素。它用于触发特定屏幕的主要操作。尽管它来自Android,但在一些iOS应用中也可以看到这种模式。以下是Twitter应用中悬浮操作按钮的示例。TwitterApp在最重要的操作步骤,发布......
  • 面试官:线程是如何通讯的?
    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。在Java中,线程等待和通知的实现手段有以下几种方式:Object类下的wait()、notify()和notifyAll()方法;Condition类下的await()、signal()和signalAll()方法;LockSupp......
  • 第六章 内建自测试
    1内建自测试概念1.1背景    1.ATE测试成本    2.Memory测试的特殊性Memory内部需要测试的单元多Memory内部单元规整    3.客户对于在线测试的需求:汽车电子的可靠性要求1.2基本流程StartBIST:外部控制信号,开始自测试TestController控制Pa......
  • pytorch如何保存和加载模型
    两种方法:保存和加载参数 和 保存加载整个模型保存和加载参数 #保存torch.save(model.state_dict,PATH)#PATH推荐格式为.pt#加载model=TheModelClass(*args,**kwargs)model.load_state_dict(torch.load(PATH))保存加载整个模型 #保存torch.save(model,PATH)#......
  • 8-6|Python如何解压
    在Python中,可以使用`zipfile`库来解压.zip文件。以下是一个简单的例子,展示如何将.zip文件解压到当前目录:```pythonimportzipfiledefextract_zip_file(zipfile_name,extract_path):  #创建一个ZipFile对象  withzipfile.ZipFile(zipfile_name,'r')aszipf: ......
  • 【补充】后端接口处理跨域
    【补充】后端接口处理跨域【1】安装pip3.9installdjango-cors-headers【2】注册appINSTALLED_APPS=(...'corsheaders',...)【3】配置中间件MIDDLEWARE=[...'corsheaders.middleware.CorsMiddleware',...]【4】配置文件配置文......
  • 不增加成本能更好应对生产系统稳定性意外故障的“开发测试运维三岗转为系统红蓝军”实
    系统红蓝军,不仅可以引导开发人员做好功能自测,更可以在不增加成本的情况下,引导企业有效应对生产系统稳定性***意外***故障。1基于观察企业经常出现意料之外的软件系统生产环境稳定性故障。2问出问题是什么原因导致企业经常出现意料之外的软件系统生产环境稳定性故障?3形成可......