Django XFrameOptionsMiddleware (X-Frame-Options) - 通过客户端 IP 允许 iframe

2024-03-19

我正在使用 Django XFrameOptionsMiddleware 来控制点击劫持,但我有一个客户需要能够从其网络内的 iframe 中浏览应用程序。我希望能够从视图方法中应用(或删除) xframe_options_exempt 装饰器。


最好的方法是覆盖 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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django XFrameOptionsMiddleware (X-Frame-Options) - 通过客户端 IP 允许 iframe 的相关文章

随机推荐