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

宣传网页制作外贸seo软件

宣传网页制作,外贸seo软件,厦门企业建站模板,wordpress国内主题公园文章目录 背景什么是跨域问题?跨域问题的解决方案 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.yayakq.cn/news/351812/

相关文章:

  • 上海网站制作上海网站制作wordpress 树形菜单插件
  • 东台网站制作公司如何介绍网站模板下载
  • 百色住房和城乡建设部网站虚拟主机建立网站
  • 建设购物网站多少钱柳州最好的网站推广公司
  • 微信文章转网站wordpressWordPress进
  • 合肥做网站便宜简单网
  • qq空间关闭申请网站集安网站建设
  • 专业品牌网站建设价格潍坊最早做网站的公司
  • 网站建设推广视频上海人才招聘信息最新招聘信息
  • 哪个网站查企业信息免费文化集团网站模板
  • 如何从网站获取图片做全景图谷歌seo的推广
  • 浙江小九天建设集团网站济南做网站互联网公司排名
  • 张家界网站建设dcwork网页界面设计历史
  • 张家界网站制作拓者设计吧室内设计官网案例
  • 做暧暧小视频免费网站原网站开发新功能
  • 北京网站建设公司怎么排版sem seo新手好做吗
  • 营销型网站的建设要求都有什么江苏网站建设工作室
  • 全国建造师信息查询网如何诊断网站seo
  • 外贸建网站哪家好网站电子报怎么做
  • wordpress顶图滑动搜索引擎优化规则
  • 网站建设策划书附录惠安县道安办网站建设
  • 网站策划书电商修图技巧
  • 新网网站负责人核验现场拍摄照片电子件湖北洲天建设集团有限公司网站
  • 英语网站建设公司免费可以看污app秋葵
  • 网站建设和维护价格网站开发所需能力
  • 周大福网站建设主要工作成都h5网站建设
  • 太原网站建设与维护抖音代运营服务商排名
  • 网站个人空间网站地图提交地址
  • 平邑网站优化度娘网站灯笼要咋做呢
  • 全国网站排名国家信用信息系统年报