使用HTTP摘要认证保护REST端点 - python

我正在使用PythonFlask中开发一个项目,该项目的端点为

@app.route(/transaction)
def get(request):
  ...

@app.route(/transaction)
def post(request):
  ...

另外,我希望在执行方法之前对REST端点进行身份验证
我进行了很多搜索,发现Digest Authentication是我可能需要的(我目前尚不确定)

如何使用python和flask实现这种安全模式?有什么可以看到并从中学习的示例吗?
我不希望以纯文本形式传递密码,而使用令牌是一个更好的主意,那么考虑使用HTTP摘要身份验证是否是正确的选择?
你们可能还想推荐什么?

我希望我的服务器是无状态的,并且不在服务器端存储任何会话

参考方案

看https://flask-restless.readthedocs.org/en/latest/。

为了安全起见,扩展名:http://pythonhosted.org/Flask-Login/和http://pythonhosted.org/Flask-Principal/。

无状态服务不存储会话数据,这意味着您必须为每个请求发送凭据。

您可以仅使用普通的登录名和密码,也可以使用哈希函数。
您可以在用户端存储密钥,并生成/加密您的纯数据作为登录名,密码和其他请求数据。这样可以保护您免受其他请求的侵害,但不能保护您免受某些请求的侵害,但是您还可以添加时间戳等内容并拒绝任何旧请求,或者添加唯一的请求ID并拒绝某些请求。
您可以使用更有效的方法,例如https。

有状态服务还可以获取用于身份验证的简单登录名和密码,并生成用于授权的令牌,该令牌随每个请求一起发送。

Python Eve包含过滤器 - python

有什么方法可以返回字段包含某些值的项目?例如。GET /people?contains="foo"返回名称中带有“ foo”一词的所有人。提前致谢 参考方案 您可以使用mongodb $regex运算符,该运算符在Eve(MONGO_QUERY_BLACKLIST = ['$where', '$regex&#…

python flask如何从URL获取路由ID - python

我正在用烧瓶。我有一个网址,例如:http://example.com/page/page_id我想知道如何从路线中的网址获取page_id部分。我希望我可以设计出一些方法,例如:@route('/page/page_id') def page(page_id): pageid = page_id 参考方案 这非常简单-在尖括号之间传递p…

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Flask Cors无法运作 - python

我正在尝试在Flask应用程序中启用CORS,但无论我把来源如何,似乎总是可以从浏览器访问URL。我不知道我做错了什么。这是我的代码from flask import Flask, jsonify from flask_cors import CORS app = Flask(__name__) CORS(app, resources={r'/*&…

Python:图像处理可产生皱纹纸效果 - python

也许很难描述我的问题。我正在寻找Python中的算法,以在带有某些文本的白色图像上创建皱纹纸效果。我的第一个尝试是在带有文字的图像上添加一些真实的皱纹纸图像(具有透明度)。看起来不错,但副作用是文本没有真正起皱。所以我正在寻找更好的解决方案,有什么想法吗?谢谢 参考方案 除了使用透明性之外,假设您有两张相同尺寸的图像,一张在皱纹纸上明亮,一张在白色背景上有深…