【问题标题】:Storing user password in PHP for RESTful API authentication在 PHP 中存储用户密码以进行 RESTful API 身份验证
【发布时间】:2015-08-29 23:28:36
【问题描述】:

我目前正在设计架构,该架构允许我的客户端网站与使用跨域标头的另一台服务器上的基本身份验证保护的主 RESTful API 通信。

当用户在其中一个网站上注册时,表单会发布到 PHP file,然后创建一个流并将数据发布到主服务器上的 API(两台服务器都受 SSL 保护)。

问题出现在此之后。对于API 的每个请求,我都需要重新提供用户的用户名和密码,以便通过基本身份验证成功对其进行身份验证。

如何安全地存储用户的用户名和密码,以便在用户更改其帐户时继续向客户端网站提供 API 访问权限?

在会话变量中存储加密的用户名和密码是否被认为足够安全?用户会将信用卡号等敏感信息传递给主服务器API,因此安全是重中之重。

【问题讨论】:

  • 如何将其存储在本地文件中,用户无法在私有目录中访问该文件。但请确保它在那里被加密。

标签: php rest security authentication


【解决方案1】:

如果确实需要将用户名和密码存储在SESSION中。然后用server-side key 加密usernamePassword

这个server side key 将在您服务器的一个文件中但不在根文件夹中,在根文件夹之外,您可以在将凭据发送到API 时使用decrypt .

因此,即使您的会话被劫持,除了server side key 之外,破解凭据也并非易事。

也许你想看看这些链接

Creating a secure REST API

SO - PHP Session Security

【讨论】:

    猜你喜欢
    • 2011-11-12
    • 2014-02-15
    • 2015-07-22
    • 2014-04-29
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 2013-09-09
    相关资源
    最近更新 更多