【问题标题】:PHP Auto-authorization via linkPHP自动授权通过链接
【发布时间】:2016-12-04 10:49:05
【问题描述】:

我尝试做自动登录表格。这是我的 HMTL 表格

<input name="login:username" type="text" class="INPUT_USER">
<input name="login:password" type="password" class="INPUT_PASS">
<input type="image" src="login.gif" class="BUTTON" value="" border="0">

这是我的用户名 Admin 和密码 Test。

当我打开这个链接 www.example.com/admin 时,我想以某种方式提交用户名和密码,以便在系统中自动输入。这可能吗?

我认为是这样的http://Admin:Test@example.com/admin

如果有人建议选择,我会很高兴。在此先感谢,如果我不清楚,我深表歉意。

【问题讨论】:

  • 如果你有自动授权,...你为什么不删除授权检查?没用。
  • @sensorario 我知道,但应该知道。你能帮帮我吗?
  • 我不能给你不好的建议,对不起^_^

标签: php html authentication login authorization


【解决方案1】:

我很确定您不需要一直在没有密码的情况下让用户登录。这一定是您场景中的特例。

正确的做法是在用户实际需要登录链接时为他们生成令牌。您可以生成一个加密随机的安全令牌并将其与您的用户相关联。令牌还应该有一个时间戳来限制其使用的时间。然后,您甚至可以根据需要创建包含令牌的链接。当用户使用链接(令牌)时,您可以使其无效,从而产生一次性令牌,或者如果您需要一段时间,则在他们不再需要它时使其无效(甚至定期,比如说令牌可能是有效期为一周或一个月,之后他们必须重新登录才能续订)。

为了提高安全性,您可以使用 TOTP 或 HOTP 以及 Google Authenticator 等移动应用设置简单的多因素身份验证。这样,即使攻击者拥有令牌,他们仍然需要用户的移动设备才能登录。

另一个控件是显示上次登录时间和 IP 地址(从客户端 IP 派生的客户端的大致位置),让您的用户知道令牌是否被盗用。

您还应该使令牌失效,即。您的用户应该能够在他们认为令牌被盗用时删除它。

这些是一些实际上可以使其至少在一定程度上安全的控件。

将密码存储在 cookie 中非常不安全,将密码哈希存储在 cookie 中毫无意义。长(永久)会话是不安全的,攻击者只需获取一次会话 ID,在最坏的情况下,用户将无法使其无效。

【讨论】:

    【解决方案2】:

    永远不要通过您的网址传递密码。 服务器必须知道输入此 url 的用户是必须登录的帐户的所有者。

    解决方案 1:cookies 使用令牌或哈希密码存储 cookie,以便服务器可以检查它。

    解决方案 2:永远登录 - 简单 - 会话

    【讨论】:

    • 将密码存储在 cookie 中使其更容易成为攻击者的目标。将密码散列存储在 cookie 中是没有用的,除非服务器本身也接受散列,在这种情况下散列 密码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多