六、跨域CORS

写在前面:

关于浏览器的同源策略:

  • 出于防范跨站脚本的攻击,

  • 禁止客户端(前端地址: 127.0.0.1:8080)的脚本(如 JavaScript, )

  • 对不同域(我们的项目地址:127.0.0.1:8000)的服务进行跨站调用。

  • 1. 协议名protocol2. 主机host3. 端口号port 三者一致 即为 同源

安装

pip install django-cors-headers

添加应用

# settings.py
INSTALLED_APPS = (
    ...

    'corsheaders',
    ...
)

中间层设置(放在最上面)

# settings.py
MIDDLEWARE = [

    'corsheaders.middleware.CorsMiddleware',
    ...
]

添加白名单

# CORS
CORS_ORIGIN_WHITELIST = (
    '127.0.0.1:8080',       # 设置这些地址的脚本请求 可以 访问 我们的 Django项目
    'localhost:8080',
    'www.meiduo.site:8080'
)
CORS_ALLOW_CREDENTIALS = True  # 允许携带cookie

设置allowed_hosts

#允许哪些主机访问 我们的 Django 项目
ALLOWED_HOSTS = ['127.0.0.1','api.meiduo.site']
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目1.什么是同源策略? 同源策略(Same origin Policy): 浏览器出于安全方面的考虑,只允许与本...
    FLYSASA阅读 5,697评论 0 6
  • 一、Origin(源) 源由下面三个部分组成: 域名 端口 协议 两个 URL ,只有这三个都相同的情况下,才可以...
    周大侠啊_阅读 4,021评论 0 0
  • 1. 什么是同源策略 浏览器限制不同源的两个网站间脚本和文本的相互访问,只允许访问同源下的内容。所谓同源,就是指两...
    熊蛋子17阅读 3,933评论 1 6
  • 关于跨域大概可以分为 iframe 的跨域和纯粹的跨全域请求。 3种跨全域方法: 1、JSONP 全称:JSON ...
    _Dot912阅读 3,682评论 0 2
  • 如何在本地伪装一个网站 1.编辑hostsmac:sudo vi /etc/hostswindows: C:\W...
    DeeJay_Y阅读 2,372评论 0 0