2017-12-07 10 views
0

タイトル私のタイスクリプトファイル内にCSRFトークンを設定する方法はわかりません。私はtypescriptとCSRFトークンについての初心者です。CSRFトークンが設定されていません。TypescriptでCSRFクッキーを設定する方法は?

これは私の情報を投稿するのに使用するタイスクリプトファイルです。

def report(request): 
    import pdb; pdb.set_trace() 
    if request.method == 'POST': 
     z1= site(country_site="New Penang Site") 
     site.save() 
    else: 
     return HttpResponse(request.method, content_type="application/json") 

私が投稿する場合は、この正しいかではありませんについての私のsetting.pyインサイド

getUsers2() { 

    let headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 
    let body2 = { 
     site: this.selectedSite, 
     zone: this.selectedZone, 
     user: this.username, 
     categoryType: this.problemType, 
     ser: 'High', 
     conNo:'012-8888888' 
    }; 

    this.http.post('http://localhost:8000/apidb/report/', JSON.stringify(body2), {headers: headers}) 
     .map(res => res.json()) 
     .subscribe(data => { 
      console.log("herererererere" ,data); 
     }); 


    this.restProvider.getUsers2().then(data2 => { 
     this.locations = data2; 
     console.log(this.locations); 
    }); 
    } 

私はすでに私のviews.pyでIわからないミドルウェア

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

をインストールしています私のAPIにデータを送信すると、CSRFが設定されていないことがわかります。

enter image description here

誰でも私にこの問題に関するチュートリアルやガイドラインを教えてもらえますか?ありがとう!!

答えて

0

HTTPrequest(この場合はbody2 var)で送信されたPOSTdataにCSRFトークンを追加する必要があります。 Djangoのドキュメントでは、POST(Laravel、その '_token')で探している名前を確認する必要があります。

このPOSTのvarの値は、ページの上部にトークンサーバ側のエコーによって設定されます(CSRFトークンのすなわちVAR X =(サーバー側のエコー);)

+0

POSTのvarは場所でなければなりません私のtypescriptやviews.pyの中で?? – Reggie

+0

私はあなたが提供するソリューションについてまだそれほど明確ではありません。もっと説明してもらえますか? – Reggie

関連する問題