当前位置: 首页 > news >正文

网站备案邮寄资料云浮新增确诊病例

网站备案邮寄资料,云浮新增确诊病例,做设计的平台,运维工程师40岁以后出路1.什么是跨域 跨域问题的实质是浏览器的同源策略造成的。浏览器同源策略是浏览器为 JavaScript 施加的限制。简单点说就是非同源会出现如下等限制#xff1a; 无法访问其他源下的网页的 Cookies#xff0c;Storage等#xff1b;无法访问其他源下的DOM对象和 JS 对象;无法使…1.什么是跨域 跨域问题的实质是浏览器的同源策略造成的。浏览器同源策略是浏览器为 JavaScript 施加的限制。简单点说就是非同源会出现如下等限制 无法访问其他源下的网页的 CookiesStorage等无法访问其他源下的DOM对象和 JS 对象;无法使用 Ajax 向其他源发送请求除非其他源允许 那什么情况下会出现限制呢也就是什么时候会出现跨域 前提必须运行在浏览器中。因为同源策略是浏览器对 JS 施加的 协议不同。http://abc.com:80 的网页访问 https://abc.com:80主机名不同。https://abc.com:80 的网页访问 https://cde.com:80 / https://api.abc.com:80 (子域名也不行)端口不同。https://abc.com:80 的网页访问 https://abc.com:443 举个栗子 前端运行地址127.0.0.1:3000 import React, { useState } from react;const App () {const [data, setData] useState(null);const fetchData async () {try {const response await fetch(http://127.0.0.1:8080/test);const data await response.json();setData(data);} catch (error) {console.error(Error:, error);}};return (divbutton onClick{fetchData}Fetch/button{data pre{JSON.stringify(data, null, 2)}/pre}/div); }; export default App;后端运行地址127.0.0.1:8080 RestController public class TestController {GetMapping(/test)public MapString, Object test(HttpServletResponse response) {return new HashMapString, Object() {{put(ok , true);}};} }点击 Fetch 后产生跨域 2.为什么要有同源策略 Web的同源策略是一种浏览器安全机制被设计用于保护用户信息和防止恶意攻击。同源策略要求浏览器在加载网页时只允许与当前页面具有相同源的资源进行交互即协议、域名和端口必须完全相同。 同源策略的主要目的是防止恶意网站通过跨站脚本攻击XSS或跨站请求伪造CSRF等方式获取用户的敏感信息或进行恶意操作。 具体原因如下 防止信息泄露同源策略阻止恶意的网站访问其他域名下的数据和文档对象模型DOM。这是因为在不同域下的网页很可能具有不同的安全性控制政策和访问权限所以限制跨域访问有助于保护用户的敏感信息如登录凭据、Cookie、本地存储等。 数据隔离同源策略确保网站之间的数据相互隔离防止一个网站的恶意代码或攻击不会影响其他网站的数据完整性和可用性。此举有助于防止一些常见的攻击如点击劫持和防止恶意脚本对其他网站进行操作。 安全性和可靠性同源策略有助于维护浏览器的安全性和稳定性。通过限制跨域访问它可以减少恶意代码的传播并减少对浏览器的影响。 虽然同源策略在保护用户信息和防止恶意攻击方面非常重要但有时也会带来一定的限制。因此如果确实需要在不同源之间进行数据交互可以使用跨域资源共享CORS等安全机制来规避同源策略的限制。 来自ChatGPT 3.怎么解决跨域问题即绕过同源策略限制 跨域实例中前端和后端运行的端口不同前端3000后端8080所以导致了跨域。如果想要前端能直接访问后端有什么办法呢 3.1 服务端设置CORS 这是最简单的办法在后端加上配置允许所有的源地址访问 Access-Control-Allow-Origin : * RestController public class TestController {GetMapping(/test)public MapString, Object test(HttpServletResponse response) {// 这是最核心的配置可以使用更加优雅的方式CrossOrigin注解、拦截器、过滤器等response.setHeader(Access-Control-Allow-Origin , *);return new HashMapString, Object() {{put(ok , true);}};} }3.2 代理 代理的核心是让浏览器页面访问一个同源的服务端让同源服务端去获取页面想要的资源。 Nginx 中 server {listen 3000;server_name 127.0.0.1;location /api {proxy_pass http://localhost:8080;} }Node 中以 开发React 应用为例 const proxy require(http-proxy-middleware); module.exports function (app) {app.use(/api,proxy({target : http://127.0.0.1:8080/,changeOrigin : true,PathRewrite : {^/api : }})); };3.3 JSONP 简单来说就是利用 HTML 标签来访问跨域的资源因为同源策略是浏览器为 JavaScript 施加的限制 前端准备好callback方法和请求的标签 !DOCTYPE html html langenheadmeta charsetutf-8 /titleReact App/titlescript// 准备好回调的方法const callback (data) {console.log(data, data);}/script!-- 通过访问接口获取模拟的 data 入参 --script srchttp://127.0.0.1:8080/jsonp/script/headbodydiv idroot/div/body /html后端增加接口模拟返回 JS 脚本 GetMapping(/jsonp) public String jsonp() {return callback({\ok\: false});; }
http://www.w-s-a.com/news/508068/

相关文章:

  • 自媒体网站程序淘宝网站维护
  • 凡科网站建设网站wordpress 七牛oss
  • 搬瓦工的主机可以用来做网站吗分类信息网站开发需求方案
  • 上海高端网站开发站霸网络国际网站建设的目的
  • 程序员招聘求职的网站做网站加入广告联盟
  • 网站建设的技术方案模板易做文学网站的logo
  • 建设国家标准官方网站响应式网站切图
  • 网站链接数怎么做wordpress安装网址
  • 沈阳建网站 哪家好如何做旅游网站推销
  • 继续网站建设南通网站建设方法
  • 淮南公司网站建设如果做京东优惠卷的网站
  • 二手房网站平台怎么做项目工程监理公司网站建设方案
  • 秦皇岛做网站公司小说推广平台有哪些
  • php网站做分享到朋友圈天元建设集团有限公司信用代码
  • 邱县做网站在线免费图片编辑器
  • 网站备份网站做网站如何把支付宝微信吧
  • 做网站的怎么获取客户信息晋城建设局网站
  • 新开传奇网站发布网单职业wordpress建站网页无法运作
  • 海南省住房和城乡建设厅官方网站网站开发有哪些语言
  • 网站开发排期表免费网站建设策划
  • 飞沐网站设计江苏建设人才网证书查询
  • 网站优化的意义怎么帮商家推广赚钱
  • 安顺公司做网站福州建设发展集团有限公司网站
  • 普陀企业网站建设做散客机票的网站如何推广
  • 河北网站建设与制作建设宁波市分行的互联网网站
  • python做网站是不是特别慢百度推广基木鱼
  • 卖网站链接东营住房和城乡建设信息网
  • 网站后台如何上传ico图标单位建设网站需要的材料
  • 如何建淘客网站郑州做网站最好的公司
  • 连锁酒店网站方案o2o网站建设方案