2016-07-22 10 views
1

"CSRF cookie not set"に問題があります。私が必要とするのは、外部課金プラットフォームがdjangoサーバにアップデートを送信することだけです。ローカルではrequestbサーバ Django:禁止(CSRFクッキーが設定されていません)

https://requestb.in/p0rihap0?inspect#t67d6c

にポストバックのその動作していない...

コード

# views.py 
from django.views.decorators.csrf import csrf_exempt 
from django.http import JsonResponse 

@csrf_exempt 
def postback(request): 
    print(request.POST) 
    return JsonResponse({'ok': 'hoooh!'}) 

# urls.py 
from django.conf.urls import url 
from billing import views 

urlpatterns = [ 
    url(r'^postback/$', views.postback), 
] 

エラー

Forbidden (CSRF cookie not set.): /billing/postback/ 
[21/Jul/2016 10:49:21] "POST /billing/postback/ HTTP/1.1" 403 2682 

の検索結果をポストマンで動作しますが、デモサーバで

Env

  • のPython 3.5.1+
  • はジャンゴ1.10rc1
+0

リクエストが適切な場所に届いていますか?メインのurls.pyの全部を表示し、「課金」マッピングも表示します。 –

+0

あなたの設定に 'CSRF_COOKIE_SECURE = True'がありますか? – Rafael

答えて

1

私はここで解決策を見つけた: Django Rest Framework remove csrf

を、私はシステムの一部でDRFを使用し、多分それはCSRFのエラーを生成し、csrf_exemptデコレータを無視しました。

ありがとうございました!

3

あなたが設定ファイルでTrueするCSRF_COOKIE_SECUREを設定している場合、クッキーは、「安全」、したがって、必要があるでしょうとしてマークされますHTTPS接続。

あなたはそのエラーを受け取ります。

詳細については、hereを参照してください。

関連する問題