14

django csrf cookie を http のみに設定することは可能ですか? SESSION_COOKIE_HTTPONLYセッション Cookie と同様ですが、csrf の場合は?

4

3 に答える 3

15

Django1.6 +の場合は、受け入れられた回答を確認してください。Django1.5およびprevの場合、このための設定オプションはありません。

の代わりにカスタマイズされた方法をオーバーライドして使用するprocess_response()ことができますdjango.middleware.csrf.CsrfViewMiddlewareCsrfViewMiddlewareMIDDLEWARE_CLASSES

class Foo(CsrfViewMiddleware):
    def process_response(self, request, response):
        response = super(Foo, self).process_response(request, response)
        response.cookies[settings.CSRF_COOKIE_NAME]['httponly'] = True
        return response

CsrfViewMiddlewareまたは、応答後に呼び出される別のミドルウェア

class Foo(object):
    def process_response(self, request, response):
        if settings.CSRF_COOKIE_NAME in response.cookies:
            response.cookies[settings.CSRF_COOKIE_NAME]['httponly'] = True
        return response
于 2012-06-02T11:22:27.783 に答える