用烧瓶保护静态文件

mar*_*cog 8 python security static password-protection flask

我正在构建一个烧瓶应用程序,我希望它只在用户通过身份验证时才提供一些静态文件.这是一个非常低流量的应用程序(仅供内部使用).我该怎么做?我想到的一件事是使用serve_static(),并将其放在身份验证检查之后但是使用了已经提供内容的静态目录.

Sea*_*ira 12

只需子类化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
Run Code Online (Sandbox Code Playgroud)

另见以下定义send_static_file