【问题标题】:How disable button until the next day after on click单击后如何禁用按钮直到第二天
【发布时间】:2023-03-29 14:54:01
【问题描述】:

我完全迷路了,我有一个用户可以登录的网站,登录后我想添加一个按钮,单击后会停用并在第二天(每个午夜)重新激活,我希望该按钮保持停用状态即使用户断开连接并重新连接,或者他们尝试使用智能手机。

请帮忙

【问题讨论】:

  • 如果即使用户尝试从其他设备访问按钮也必须保持禁用状态,那么您需要将按钮状态存储在服务器端。它可以通过多种不同的方式完成;例如,您可以拥有一个每天午夜自动删除的简单文本文件,您可以将信息保存在数据库中。
  • 非常感谢。这么复杂的事情我好像还不够好

标签: javascript button disable


【解决方案1】:

这里基本上有两个选择。

如果您使用后端系统进行用户登录,我建议您禁用这种方式的用户登录。使用这种方法,您通常不会禁用登录按钮,而是锁定帐户并在输入正确凭据时拒绝进入。

如果您不使用任何类型的后端系统,那么您唯一的选择就是使用 cookie。这些绝对是不是防止登录的安全方法,因为它们很容易被用户操纵。 Mozilla 有一个页面解释了 cookie here 比我做得更好。这些 cookie 是持久存储的方法。您可以创建一个在午夜过期的 cookie,并在页面加载时使用 javascript 搜索该 cookie。如果 cookie 存在,请继续禁用按钮。

话虽如此,在后端禁用登录是更安全的方法。在大多数情况下,我不建议使用 cookie 来防止登录。

编辑:删除了建议使用 cookie 作为不良选择的部分。错过了说明他们需要跨设备的部分。

【讨论】:

  • "即使用户断开连接并重新连接或者如果他们从智能手机尝试,我希望按钮保持停用状态。" cookie 如何在桌面上设置防止用户从他的手机点击同一个按钮?
  • 感谢您的回复,我对使用 cookie 的想法不满意,并且我不能拒绝访问该帐户,因为我的用户可以从他们的帐户访问不同的服务。
  • 我错过了跨设备阻止的说明。恐怕您唯一的选择是存储按钮状态服务器端。我仍然会争辩说,实际上只是禁用按钮也不是最安全的方法,因为用户可以只是从控制台自己调用登录功能。您可以保留该帐户不允许使用的服务列表,并在客户端尝试访问服务时检查该列表。
猜你喜欢
  • 2019-07-22
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 2023-03-22
  • 2019-10-25
  • 1970-01-01
  • 2019-08-11
  • 1970-01-01
相关资源
最近更新 更多