3

クリックジャッキングを制御するために Django XFrameOptionsMiddleware を使用していますが、ネットワーク内から iframe でアプリを参照できるようにする必要がある顧客がいます。ビュー メソッド内から xframe_options_exempt デコレータを適用 (または削除) できるようにしたいと考えています。

4

1 に答える 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 に答える