Flask:如何防止重播攻击

2024-04-26 05:49:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的Flask应用程序中实现一个逻辑来防止应答攻击。 关于here问题,我的想法是在用户从系统注销时设置当前会话生存期。一般来说,建议按如下方式设置会话生存期:

@app.before_request
def before_request():
    session.permanent = True
    app.permanent_session_lifetime = timedelta(minutes=10)

但是,我想在用户从系统注销时设置当前会话的生存时间。类似以下代码:

^{pr2}$

我还检查了this question,但问题是我正在处理一些机密数据,我必须确保在用户从系统注销后清除会话。有没有办法在手动创建后设置一个会话生存期?或者有什么简单的方法可以通过flask登录来处理这种情况?在


Tags: 用户app应用程序flaskhererequestsession系统
1条回答
网友
1楼 · 发布于 2024-04-26 05:49:46

我找到了解决办法。我应该简单地使用Flask-KVSession包将会话数据存储在数据库(或任何其他数据存储)中,而不是服务器内存中。正如套餐网站介绍的:

Flask-KVSession is an MIT-licensed server-side session replacement for Flask‘s signed client-based session management. Instead of storing data on the client, only a securely generated ID is stored on the client, while the actual session data resides on the server.

您还需要在数据库中创建一个键值配对表(默认情况下它有命名的会话,但您也可以更改名称和模式),并将其指向flask app对象。更多信息可在here找到。在

相关问题 更多 >