Djangoでクリックジャッキング対策

Django 1.5.1でstartprojectすると、クリックジャッキング対策のためのMiddlewareが用意されていることがわかります。
'django.middleware.clickjacking.XFrameOptionsMiddleware'ですね。コメントアウトされてますが。


たぶん1.4以降だと用意されてます。

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    # Uncomment the next line for simple clickjacking protection:
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)


このMiddlewareを有効にすると、デフォルトでレスポンスヘッダX-Frame-OptionsとしてSAMEORIGINを返すようになります。


X-Frame-Optionsの値はsettingsでカスタマイズできます。

settings.py

X_FRAME_OPTIONS = 'DENY'


X-Frame-Optionsの意味は以下の通り

X-Frame-Options HTTP レスポンスヘッダは、ブラウザがページを または