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

国家企业信用信息公示系统查询广东seo推广外包

国家企业信用信息公示系统查询,广东seo推广外包,网络搭建是什么工作,中国中小企业河南网文章目录 背景什么是跨域问题?跨域问题的解决方案 Django 解决跨域问题 背景 什么是跨域问题? 跨域问题是指浏览器的同源策略限制了来自不同域的 AJAX 请求。 具体来说: 同源策略要求源相同才能正常进行 AJAX 通信。判断是否同源需要满足三个条件: 协…

文章目录

    • 背景
      • 什么是跨域问题?
      • 跨域问题的解决方案
    • Django 解决跨域问题

背景

什么是跨域问题?

跨域问题是指浏览器的同源策略限制了来自不同域的 AJAX 请求。
具体来说:

  • 同源策略要求源相同才能正常进行 AJAX 通信。
  • 判断是否同源需要满足三个条件:
    1. 协议相同(http或https)
    2. 域名相同
    3. 端口相同
  • 不满足以上条件就是不同源,属于跨域。
    举个例子:
  • 前端域名是:http://www.example.com
  • 后端域名是:http://api.example.com
    虽然二者域名相关,但前三段不完全一致,所以属于跨域。
    当前端通过 AJAX 请求后端接口时,就会触发浏览器的同源策略,请求会被阻止。
    这就是跨域问题。

跨域问题的解决方案

  • 部署时使前后端域名满足同源策略
  • 通过 CORS 让后端 server 明确告知浏览器允许跨域请求
  • 通过代理服务器避免前端直接跨域请求后端
    前端代理的方式可以在开发环境使用,但实际生产环境还是应该后端启用 CORS。前端代理增加了部署复杂度。
  • JSONP等其他跨域方案已经不再推荐,存在安全和使用上的限制。

如果前后端可以部署在同一个域名下,那么可以避免跨域,这是最简单的方案。如果前后端实在无法部署在同域名,那么最常见和推荐的就是后端启用 CORS。这是官方推荐的标准跨域方案。

Django 解决跨域问题

Django 框架中通过 django-cors-headers 这个模块解决。

  1. 安装库:
pip install django-cors-headers
  1. 在 settings.py 中添加应用:
    安装cors-headers应⽤
# 注册应用
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','corsheaders',  # 解决跨域CORS]
  1. MIDDLEWARE中启用中间件:(cors放在所有中间件的最外层,这样可以第一时间被检测,避免无意义的操作)
# 中间件
MIDDLEWARE = ['corsheaders.middleware.CorsMiddleware',  # 最外层的中间件'django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',
]
  1. 添加⽩名单,配置 CORS_ORIGIN_WHITELIST
CORS_ORIGIN_WHITELIST = ('http://127.0.0.1:80','http://localhost:80',
)
CORS_ALLOW_CREDENTIALS = True  # 跨域时允许携带cookie
CORS_ORIGIN_ALLOW_ALL = True # 设置为 True 意味着接受任意跨域请求,这是非常危险的行为,上线时一定要设置为 False。CORS_ORIGIN_ALLOW_ALL = True,那么 CORS_ORIGIN_WHITELIST 和 CORS_ALLOW_METHODS 等其他CORS相关配置将不再起作用。CORS_ALLOW_METHODS = ('DELETE','GET','OPTIONS','PATCH','POST','PUT','VIEW',
)CORS_ALLOW_HEADERS = ('www-authorization','XMLHttpRequest','X_FILENAME','accept-encoding','authorization','content-type','dnt','origin','user-agent','x-csrftoken','x-requested-with','Pragma',
)

此外,需要注意:

  • 不要使用 ‘*’ 来接受任意域名访问
  • 明确设置 allowed methods、headers 等来增加安全性
  • 在生产环境中关闭 DEBUG 模式
http://www.yidumall.com/news/28066.html

相关文章:

  • wordpress商品展示主题seo的主要内容
  • 渭南网站建设wifi首页排名关键词优化
  • 用dw做旅游的网站的设计友情链接交换形式有哪些
  • 村建站全称网上代写文章一般多少钱
  • 河北网站制作公司地址百度关键词价格排行榜
  • 网站开发课程总结湖南疫情最新情况
  • 金华模板建站定制网站福州seo推广公司
  • wordpress调用文章阅读量seo服务 文库
  • 做博彩的网站犯法吗搜索引擎大全全搜网
  • 哪个网站有成品的毕业论文小红书推广渠道
  • 谁做视频网站如何做百度竞价推广
  • 极简主义 网站青岛网站建设公司哪家好
  • 推广联盟网站怎么做北京seo关键词排名优化
  • 手机欧美视频网站模板下载 迅雷下载地址北京seo推广
  • 做设计常用的网站广告有限公司
  • 丝路云网站建设百度搜索指数的数据来源
  • 网站后台组成百度指数的网址
  • 如何使用腾讯云建网站聚合搜索引擎入口
  • 一个网页大概多少钱hyein seo官网
  • 无锡网站建设有限公司b站推广网站2024年
  • 微网站建设费用青岛seo推广公司
  • 西安北郊网站开发惠州百度seo哪家好
  • 阿里云访问wordpress优化公司怎么优化网站的
  • 移动端网站的优势seo百度贴吧
  • 网站收录没图片适合交换友情链接的是
  • 邢台网站建设服务商seo诊断分析在线工具
  • 网站建设公司简介范文免费下优化大师
  • 教育类网页设计欣赏北京搜索排名优化
  • 淘宝客购物网站的怎么做河南品牌网站建设
  • seo建设网站南京谷歌推广