无法使用django cors阻止跨源请求

时间:2017-01-15 18:58:16

标签: django-rest-framework django-cors-headers

我使用IP和端口号在本地运行我的Django应用程序。

我的设置如下。

# CORSHEADERS

CORS_ORIGIN_ALLOW_ALL = False
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_WHITELIST = (
        os.environ.get('BASE_DOMAIN'),
    )

CORS_ALLOW_METHODS = (
        'GET',
        'POST',
        'PUT',
        'PATCH',
        'DELETE',
        'OPTIONS'
)

CORS_ALLOW_HEADERS = (
        'Access-Control-Allow-Origin',
        'x-requested-with',
        'content-type',
        'accept',
        'origin',
        'authorization',
        'x-csrftoken'
)

MIDDLEWARE_CLASSES = [
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.middleware.common.BrokenLinkEmailsMiddleware',
    'django.middleware.gzip.GZipMiddleware',
]

我使用manage.py runserver <IP>:<PortNumber>启动了服务器。我在同一个网络中的另一台PC上进行api呼叫,我得到了一个成功的响应,我期待一个&#34;请求阻止&#34; /其他一些错误消息。

我试图了解django-cors-headers是如何工作的,因此制作了一些交叉原始请求。

注意: - 我有&#39; corsheaders&#39;在我的设置中添加。我已经完成了一个pip install django-cors-headers。我甚至尝试从settigs中删除所有cors允许的方法。请帮助我理解为什么请求不会被阻止,即使它是一个跨源请求。

0 个答案:

没有答案