1
我使用Django XFrameOptionsMiddleware來控制點擊劫持,但我有一個客戶需要能夠從他們的網絡內的iframe中瀏覽應用程序。我希望能夠在view方法中應用(或刪除)xframe_options_exempt裝飾器。Django XFrameOptionsMiddleware(X-Frame-Options) - 允許客戶端IP使用iframe
我使用Django XFrameOptionsMiddleware來控制點擊劫持,但我有一個客戶需要能夠從他們的網絡內的iframe中瀏覽應用程序。我希望能夠在view方法中應用(或刪除)xframe_options_exempt裝飾器。Django XFrameOptionsMiddleware(X-Frame-Options) - 允許客戶端IP使用iframe
最佳方法是覆蓋get_xframe_options_value。 XFRAME_EXEMPT_IPS是我使用fnmatch(192.168。*)檢測允許網絡的glob_list。
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()