2017-11-28 8 views
0

こんにちは、誰も〜どのように私は安心して竜巻に設定xsrf_cookiesを使用することができますか?

私たちが知っているように、私がAJAXでメッセージを送ることを選択すると何かします。

しかし、xsrf_cookiesとxsrf_cookiesの両方が必要な場合は、どうすればよいですか、または竜巻を設定する必要があります。それは、xsrfをチェックして、私の思考でxsrfをチェックできないようにしたいということです。私はそれをはっきり説明できないかもしれませんか?

たとえば、Djangoでは、@csrf_exemptを使用して、check-xsrfをミドルウェアに追加するときにcsrfをチェックしません。

私は十分〜

さて、私は誰も私を伝えることができますしたいことを説明した希望:?ここでは竜巻の例のようにどのような方法がなかった場合には、どのような、そうでない場合は、〜 2私にしてください語った、 1 「チェック」と「チェックしない」を一緒に追加する必要がある場合、私はどうしますか?ページの最後に

+0

私は考えています:xsrf_cookies = Falseを設定し、同じ機能を実現するための他の方法を書いてください。しかし、pythonicではないようです。 – bigpang

答えて

0

http://tornado-zh.readthedocs.io/zh/latest/guide/security.html

、それはRequestHandler.check_xsrf_cookie()を示しています。

En、中国語版です。

それは示して、私は以下のようにcheck_xsrf_cookieをオーバライドすることができます

def check_xsrf_cookie(self): 
    pass 

エン、ソースthrouth:

はXSRFをチェックし、エラーを発生させる:

def check_xsrf_cookie(self): 
    token = (self.get_argument("_xsrf", None) or 
      self.request.headers.get("X-Xsrftoken") or 
      self.request.headers.get("X-Csrftoken")) 
    if not token: 
     raise HTTPError(403, "'_xsrf' argument missing from POST") 
    _, token, _ = self._decode_xsrf_token(token) 
    _, expected_token, _ = self._get_raw_xsrf_token() 
    if not token: 
     raise HTTPError(403, "'_xsrf' argument has invalid format") 
    if not _time_independent_equals(utf8(token), utf8(expected_token)): 
     raise HTTPError(403, "XSRF cookie does not match POST argument") 

あると思われますまたはNoneを返します。

だから、passを十分に上書きしてください。

関連する問題