解决跨域问题

简介: 解决跨域问题

解决跨域问题

一、跨域问题的产生的原因

浏览器安全问题:浏览器的同源策略是浏览器为安全性考虑实施的非常重要的安全策略。从一个域上加载的脚本不允许访问另外一个域的文档属性,当前的地址下去访问浏览器上的另外一个地址不允许我们访问浏览器阻止我们访问

  • 跨域:指的是从一个域名去请求另外一个域名的资源即跨域请求
  • 跨域时,浏览器不能执行其他域名网站的脚本是由网站的同源策略造成的是浏览器施加的安全限制。跨域的严格一点就是只要协议、域名、端口有任何一个不同就被当做是跨域

二、同源策略

  • 协议、域名、端口相同就是同源可以互相访问
  • 协议、域名或者端口有一个不同就是非同源 非同源不可以直接访问

三、案例

跨域问题

四、解决跨域的几种方法

(一)、后台代理

PHP访问:产生跨域的原因是浏览器的同源策略不能访问,我们让PHP访问资源资源把访问的结果给PHP页面我们访问PHP(PHP中间人)

语法:file_get_contnets('网址');

(二)、跨域资源共享(CORS)

普通跨域请求:只需要服务端设置Access—Control—Allow—Origin即可前端无需设置CORS是一个W3C标准,全称是“跨域资源共享(Cross-origin resource-sharing)

  • 它允许浏览器向跨源服务器发出XMLHttpRequest请求,从而克服了AJAX只能同源发送请求的限制
  • 实现CORS主要在于服务器的设置关键在于服务器HTTP响应报文首部的设置前端部分大致还是跟原来法AJAX
    请求没什么区别只是需要对AJAX进行一些相关的设置

资源共享 设置允许哪些网站访问这个接口

一、允许所有的网站访问 后台配置:请求头

PHP:header("Access-Control-Allow-Origin:*");

二、允许部分满足条件的网站

header("Access-Control-Allow-Origin:www.abc.com,baidu.com");

三、proxy代理

  • 原理:让代理服务器请求目标地址因为请求是在服务端进行的,在服务端不存在跨域从而解决跨域问题
  • 实现:将原地址绑定在代理服务器下 让代理服务器发送请求

四、jsopn跨域

  • 动态创建script标签利用script标签的src属性可以任何域下的js脚本通过这个特性(也可以说是漏铜)服务器端不再返回json格式,而是返回一段调用某个函数的js代码在src中进行了调用这样就实现网络跨域
  • 跨域请求:只有get请求

代码演示


相关文章
|
9月前
|
XML 安全 测试技术
【干货满满】分享什么是API接口测试
API接口测试是验证应用程序编程接口功能、性能、安全性及兼容性的关键环节,通过模拟请求并验证响应结果,确保接口能正确处理各种输入和场景。测试内容涵盖功能验证、性能评估、安全防护、兼容性验证及系统可靠性。相比UI测试,API测试无需界面依赖,支持数据驱动与自动化,适用于持续集成流程。常见接口类型包括RESTful、SOAP和GraphQL API,广泛应用于电商、金融及社交平台,保障系统间数据交互的安全与高效。
|
安全 JavaScript 前端开发
跨域问题如何解决
跨域问题是指浏览器同源策略限制了不同域名之间的资源访问。解决方法包括:1. CORS(跨域资源共享):服务器设置Access-Control-Allow-Origin响应头;2. JSONP:利用script标签不受同源策略限制的特点;3. 代理服务器:通过后端代理转发请求。
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
3073 1
|
存储 JSON JavaScript
跨域问题
跨域问题
349 1
|
9月前
|
JSON 安全 测试技术
什么是API接口测试?这可能是全网最全的教程了!
API 是应用程序间的“中间人”,用于实现通信和数据交换。随着微服务架构的普及,API 数量激增,其质量对系统稳定性至关重要。API 测试可验证功能、性能与安全性,帮助开发者在部署前发现并修复问题,提升系统可靠性。测试内容包括请求方法、URL、请求头、请求体、响应状态码与响应数据等。常用工具如 Postman、AREX 可辅助测试,确保 API 在不同场景下的正确性与稳定性。
|
存储 Nacos 数据安全/隐私保护
【SpringCloud】Nacos的安装、Nacos注册、Nacos服务多级存储模型
【SpringCloud】Nacos的安装、Nacos注册、Nacos服务多级存储模型
433 1
|
JSON 搜索推荐 数据挖掘
Temu商品列表数据接口(Temu API系列)
Temu作为新兴跨境电商平台,为全球卖家和消费者搭建便捷交易桥梁。通过商品列表数据接口,开发者、分析师可获取商品名称、价格、销量等信息,助力市场调研、商品管理和数据分析。接口支持HTTP GET请求,参数包括品类、价格区间、排序方式等,响应格式为JSON。Python示例代码展示了如何调用API获取数据,应用场景涵盖竞争对手分析、选品参考、销售预测及个性化推荐系统开发等。
4072 24
|
JSON 前端开发 安全
【潜意识java】前后端跨域问题及解决方案
本文深入探讨了跨域问题及其解决方案。跨域是指浏览器出于安全考虑,限制从一个域加载的网页请求另一个域的资源。
4191 0