簡體   English   中英

Django CORS 允許來自不允許來源的請求

[英]Django CORS allowing requests from non-allowed origin

我讓 Django CORS 運行,允許的來源列表如下所示:

CORS_ORIGIN_ALLOW_ALL = False
CORS_ALLOWED_ORIGINS = [
    'http://127.0.0.1:8000',
    'http://127.0.0.1:3000',
]

然而,如果我在終端中使用 Python 的requestsrequests它,它仍然允許請求。 我什至嘗試過只允許來自https://google.com請求,但它仍然允許我使用我的 API。

為什么是這樣? (我還是 Django 的新手,很抱歉,如果這是一個不好的問題)

這里有一些其他設置

已安裝的應用程序:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # internal
    'my_app1',
    'my_app2',
    'my_app3',
    # third party
    'rest_framework',
    'corsheaders',
    'debug_toolbar',
]

中間件:

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    'debug_toolbar.middleware.DebugToolbarMiddleware',
    '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',
    'django_user_agents.middleware.UserAgentMiddleware',
]

來自 mozilla CORS文檔

跨域資源共享 (CORS) 是一種機制,它使用額外的 HTTP 標頭告訴瀏覽器讓在一個源上運行的 Web 應用程序可以訪問來自不同源的選定資源。

它是瀏覽器機制,與 API 保護無關,因為您誤解了它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM