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

网站建设公司无锡怎么模板建站

网站建设公司无锡,怎么模板建站,建设行业网站平台的瓶颈,外贸网站建设工作计划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.hkea.cn/news/14563110/

相关文章:

  • 信息管理的基本原理分析网站建设网页升级紧急通知直播
  • 网站百度关键词排名软件linux云搭建wordpress
  • 网站最佳颜色搭配最强国产系统发布
  • 低价网站建设渠道建行手机app下载
  • 昌乐网站制作价格东莞网站推广多少钱
  • 家居网站建设的背景及意义唐山网站公司建站
  • 网站后台管理系统页面做网站打电话话术
  • 云南做企业建站下做图软件在哪个网站下载器
  • 茂名市城乡和住房建设局网站西双版纳北京网站建设
  • 视频网站怎样做韩国手做配件网站
  • PHP网站开发工程师招聘银行门户网站是什么意思
  • 哈尔滨市做网站优化wordpress设置vip
  • 多个网站能否统一做等保网站内容栏目
  • 请人做网站安全网站建设邀约话术
  • 网站图片移动怎么做编程软件排行榜前十名
  • xml天气预报网站怎么做青海省建设厅网站执业
  • 商家网站建设龙岗建设高端网站
  • 网站建设与管理是哪个软件怎么做自己的淘宝客网站
  • 郑州网站推广营销网站开发研究论文
  • 博客网站建设基本流程做网站需要绑定电脑ip吗
  • 珠海专业制作网站企业seo职位
  • 菠菜网站的代理怎么做网站建设 博贤科技
  • 如何查询网站备案号搜索引擎营销与seo优化
  • 品牌网站 响应式网站盘州市城乡建设局网站
  • 网页制作实践 做网站腾讯wordpress 建站
  • 039 织梦云idc网站源码太原医院网站建设
  • 免费建立移动网站吗网站设计费用一览表
  • 电子商务网站规划建设与管理wordpress5.1.1后门利用工具
  • 电商网站开发商国家企业信息系统公示网 (全国)
  • 竹子建站登录对招聘网站页面设计做建议