Django django-cors-headers實現防跨域


安裝

 

pip install django-cors-headers

 

注冊

1 INSTALLED_APPS = (
2   'corsheaders',
3 )

添加中間件

 1 MIDDLEWARE = [
 2     'django.middleware.security.SecurityMiddleware',
 3     'django.contrib.sessions.middleware.SessionMiddleware',
 4     'django.middleware.csrf.CsrfViewMiddleware',
 5     'django.contrib.auth.middleware.AuthenticationMiddleware',
 6     'django.contrib.messages.middleware.MessageMiddleware',
 7     'django.middleware.clickjacking.XFrameOptionsMiddleware',
 8     'corsheaders.middleware.CorsMiddleware',  # 按順序
 9     'django.middleware.common.CommonMiddleware',  # 按順序
10 ]

CorsMiddleware應該放置得盡可能高,特別是在可以產生響應的任何中間件之前, 如Django CommonMiddleware或Whitenoise WhiteNoiseMiddleware。 如果以前沒有,則無法將CORS頭添加到這些響應中。

配置白名單

 1 CORS_ALLOW_CREDENTIALS = True#允許攜帶cookie
 2 CORS_ORIGIN_ALLOW_ALL = True
 3 CORS_ORIGIN_WHITELIST = ( '*')#跨域增加忽略
 4 CORS_ALLOW_METHODS = ( 'DELETE', 'GET', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'VIEW', )
 5 #允許的請求頭
 6 CORS_ALLOW_HEADERS = (
 7     'XMLHttpRequest',
 8     'X_FILENAME',
 9     'accept-encoding',
10     'authorization',
11     'content-type',
12     'dnt',
13     'origin',
14     'user-agent',
15     'x-csrftoken',
16     'x-requested-with',
17     'Pragma',
18 )

前端項目設置請求頭記得添加到CORS_ALLOW_HEADERS

 

 

 

 

                                                              

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM