私は django-piston を初めて使用し、Django の CSRF 保護のために POST Web サービス呼び出しを機能させることができません。Web サービス呼び出しが CSRF 保護をバイパスできるようにし、残りの Web ページがそれらを保持できるようにするにはどうすればよいですか?
1263 次
2 に答える
3
解決策を見つけました: https://bitbucket.org/jespern/django-piston/issue/82/post-requests-fail-when-using-django-trunk、Brian Zambrano の功績です。
これが 2 年前のものであり、パッチが作成され、まだ最新のソースにマージされていないことは少し面倒です。
これを修正するには、次のように self.csrf_exempt = getattr(self.handler, 'csrf_exempt', True)を追加して、piston/resource.py ファイルにパッチを適用します。
self.handler = handler()
+ self.csrf_exempt = getattr(self.handler, 'csrf_exempt', True)
if not authentication:
self.authentication = NoAuthentication()
于 2011-08-21T18:46:26.283 に答える
0
なぜそれをする必要があるのですか?CSRF は単純なドメイン チェックです ... しかし、本当に必要な場合は、ドキュメントに答えがあります: https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#csrf-protection-should -ほんの数ビューのために無効にする
于 2011-08-21T10:38:14.470 に答える