使用烧瓶保护静态文件 [重复]

Posted

技术标签:

【中文标题】使用烧瓶保护静态文件 [重复]【英文标题】:Secure static files with flask [duplicate] 【发布时间】:2012-08-20 13:06:58 【问题描述】:

我正在构建一个烧瓶应用程序,并且我希望它仅在用户通过身份验证时才提供一些静态文件。这是一个非常低流量的应用程序(仅供内部使用)。我该怎么办?我正在考虑的一件事是使用serve_static(),并将其置于身份验证检查之后,但使用flask 已经从中提供内容的静态目录。

【问题讨论】:

您想仅对 某些 静态文件进行身份验证,还是希望对 所有 静态文件(和/或整个应用程序)进行身份验证? 所有静态文件。我已经在应用程序上进行了身份验证,所以如果我可以检查应用程序的活动会话,那将是完美的。 【参考方案1】:

只需继承 flask.Flask 并覆盖 send_static_file 方法:

class SecuredStaticFlask(Flask):
    def send_static_file(self, filename):
        # Get user from session
        if user.is_authenticated():
            return super(SecuredStaticFlask, self).send_static_file(filename)
        else:
            abort(403) 
            # Or 401 (or 404), whatever is most appropriate for your situation

另请参阅the definition of send_static_file 和关注

【讨论】:

该文件中似乎不再有第 857 行。 @JesseAldridge - 我已经修复了指向固定提交的链接。感谢您的提醒!

以上是关于使用烧瓶保护静态文件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将静态 json 数据提供给烧瓶

如何使用 jwt 保护 express 中的静态文件夹

如何在 Play 2.5 框架中使用授权 ActionBuilder 保护静态文件

如何使用基于声明的授权保护 asp.net core 2.1 中的静态文件夹

如何保护 Django 中的静态 HTML 文件? (重定向前需要登录)

找不到烧瓶模板[重复]