2017-03-03 5 views
0

Pyramid Webフレームワークを使用すると、セッションオブジェクトに対してnew_csrf_token()メソッドが呼び出されたときに、以前に発行されたCSRFトークンが無効になりますか?例えばPyramidセッションオブジェクトでnew_csrf_token()メソッドを呼び出すと、以前に発行されたトークンが無効になりますか?

old_token = session.get_csrf_token() 
new_token = session.new_csrf_token() 
# Is old_token still valid for requests? 

答えて

1

はピラミッドのセッションオブジェクトのいずれかにnew_csrf_token()方法は、そのセッションのすべての以前に発行されたCSRFトークンが無効になります呼び出します。

のインタフェースは、CSRFトークンを処理する2つのメソッド、get_csrf_token()およびnew_csrf_token()を定義しています。現時点では、フレームワークのセッションインターフェイスでは、複数のCSRFトークンが同時に存在することはできません。

内部的には、ピラミッドは要求のセッションオブジェクトに対してget_csrf_token()メソッドを呼び出し、受信したトークンとその値を比較します(署名されたクッキーを含む奇妙なケースは無視されます)。リクエスト。

古いCSRF保護トークンを使用している要求はすべて失敗すると仮定します。

関連する問題