【问题标题】:Flask limiting user sessions by timeFlask 按时间限制用户会话
【发布时间】:2018-04-04 16:25:01
【问题描述】:

我有一个不寻常的任务,所以我想请教一下专家的建议:)

我需要构建基于 Flask 的小型网络,该网络将具有内置视频播放器。用户必须登录才能访问视频。问题是我需要限制用户使用该服务的时间。

有人可以推荐一种可能的方法来使它工作或帮助我找到一个开始的地方吗?

我在想什么...如果我创建像“credits_minutes”这样的用户配置文件变量,我可以找到一种方法将 credits_minutes 每分钟减少一分?

【问题讨论】:

  • 使用Flask-Session可以设置会话超时,按照这个stackoverflow.com/questions/11783025/…
  • 谢谢你,拉杰马尼。恐怕这行不通。这仅适用于 5 分钟后的最终用户会话。如果他们愿意,他们仍然可以重新登录。在我的情况下,我需要跟踪用户使用网络的时间,如果已经过了一定时间,则不允许使用更多时间。

标签: python session web flask limit


【解决方案1】:

这些会话是基于我理解的请求,您想要做的是实际获得在网站上花费的时间量?您需要对客户端进行某种保持活动。

例如网络套接字、重复的 JavaScript 调用或其他知道它们在实际站点上并以此为基础的逻辑。

一个简单的解决方案是使用 jquery 编写一些东西来轮询您选择的端点,您可以在其中为每个轮询执行基于时间的操作。例如保存最旧的呼叫并将其与每个到达的新呼叫进行比较。当 X 分钟过去后,重定向用户。

【讨论】:

  • 谢谢你,Tobias,这听起来确实是我的系统需要的东西。不幸的是,我从未使用过 JavaScript,你有什么建议从哪里开始使用 jquery 以使其像你描述的那样工作吗?
  • 如果您完全没有经验,如果您更喜欢这种学习方式,我会在 youtube 上提出一些建议。否则w3schools.com/jquery/default.asp 将有很多为此所需的基本信息。但是该函数的 ajax 调用和 setInterval 的组合就足够了。
  • 谢谢,我会开始的
【解决方案2】:

来自Flask-Session 文档:https://pythonhosted.org/Flask-Session/

PERMANENT_SESSION_LIFETIME:作为 datetime.timedelta 对象的永久会话的生命周期。从 Flask 0.8 开始,这也可以是表示秒数的整数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-07
    相关资源
    最近更新 更多