Flask Basic Auth 账号密码验证

更新日期: 2024-12-25 阅读次数: 55 字数: 393 分类: Python

用 Python 的 Flask 框架,写了几个测试用的网页,需要放到公网服务器上。 但是为了防止被搜索引擎爬虫收录,所以需要加上 Basic Auth 账号密码验证。类似 使用 Nginx htpasswd 限制页面访问权限 的做法,但是可以省去 Nginx 的配置。

界面效果

Flask Basic Auth

安装依赖

pip install Flask-HTTPAuth

代码

from flask_httpauth import HTTPBasicAuth
from werkzeug.security import generate_password_hash, check_password_hash

basicAuth = HTTPBasicAuth()
users = {
    "test": generate_password_hash("test"),
}

@basicAuth.verify_password
def verify_password(username, password):
    if username in users and check_password_hash(users.get(username), password):
        return username

@app.route("/hello")
@basicAuth.login_required
def hello_test():
    return render_template("index.html")

还是麻烦了一点

对比 golang gin.BasicAuth 为生产环境 Swagger UI 文档加上密码保护,Flask 的设置还是麻烦了一点。不如 gin 方便简洁,而且不用安装依赖。

参考

https://www.educba.com/flask-authentication/

微信关注我哦 👍

大象工具微信公众号

我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式