クリックジャッキングを制御するために Django XFrameOptionsMiddleware を使用していますが、ネットワーク内から iframe でアプリを参照できるようにする必要がある顧客がいます。ビュー メソッド内から xframe_options_exempt デコレータを適用 (または削除) できるようにしたいと考えています。
質問する
3375 次
1 に答える
8
最善の方法は、get_xframe_options_value をオーバーライドすることです。私の場合、XFRAME_EXEMPT_IPS は glob_list であり、fnmatch (192.168.*) を使用して許容ネットワークを検出します。
class TFXFrameOptionsMiddleware(XFrameOptionsMiddleware):
def get_xframe_options_value(self, request, response):
if request.META['REMOTE_ADDR'] in settings.XFRAME_EXEMPT_IPS:
return 'ALLOWALL' # non standard, equivalent to omitting
return getattr(settings, 'X_FRAME_OPTIONS', 'SAMEORIGIN').upper()
于 2014-09-10T20:09:35.437 に答える