【问题标题】:How to authenticate that a POST comes from the right source?如何验证 POST 来自正确的来源?
【发布时间】:2018-02-15 04:50:00
【问题描述】:

我在一个系统中有一个登录用户,我想让该用户使用另一个系统。源系统应该向目标系统发送一个包含各种参数的 POST 请求。目标系统应该能够验证 POST 请求来自正确的来源,然后才允许用户进入。

通过 HTTPS 进行通信。

在两个系统中都存储一个密码短语,然后获取当前日期 + 用户 ID,使用密码短语对其进行加密并将加密字符串作为参数发送就足够了吗?目标系统可以使用密码来解密它并检查它是否是一个有效的日期(不是太旧)和一个已知的用户 ID。如果是这样,则源系统是正确的并被授予访问权限。

可以使用 SHA-1、MD5 等进行加密。

例如: 2017-09-06-USER123-> 加密(密码)-> wrgengrhwhrghewrw98tg7r7gw wrgengrhwhrghewrw98tg7r7gw -> 解密(密码) -> 2017-09-06-USER123

我对安全问题和可能的攻击不是很熟悉,但使用 HTTPS 和生成的令牌(每天更改并基于用户)对我来说听起来相当安全。

【问题讨论】:

    标签: security post https token


    【解决方案1】:

    我会设置一个数据库表来存储会话数据。如果会话 id 与登录信息相关,您将能够控制谁去哪里,做什么。

    但请务必注意“会话劫持”。确保有一个重新验证用户的时间。

    【讨论】:

      猜你喜欢
      • 2010-11-13
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      • 2020-04-25
      • 1970-01-01
      • 2011-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多