用 Python 的 Flask 框架,写了几个测试用的网页,需要放到公网服务器上。 但是为了防止被搜索引擎爬虫收录,所以需要加上 Basic Auth 账号密码验证。类似 使用 Nginx htpasswd 限制页面访问权限 的做法,但是可以省去 Nginx 的配置。
界面效果
安装依赖
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 聊聊, 查看更多联系方式