加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

我可以在PHP会话变量中安全地存储用户名和密码吗?

发布时间:2020-12-13 13:08:27 所属栏目:PHP教程 来源:网络整理
导读:我想在REST api之上创建一个轻量级的webapp,用户应该只对其进行一次身份验证,从那时起,所有针对web api的请求都希望通过以某种方式保持用户名和密码来完成. 我已经制作了一个工作原型,如果对REST api的第一个请求成功,我将用户名和密码存储在会话变量中,每个
我想在REST api之上创建一个轻量级的webapp,用户应该只对其进行一次身份验证,从那时起,所有针对web api的请求都希望通过以某种方式保持用户名和密码来完成.

我已经制作了一个工作原型,如果对REST api的第一个请求成功,我将用户名和密码存储在会话变量中,每个请求都是从会话变量获取的auth信息.到现在为止还挺好.

通过这种方法,我意识到有权访问服务器的人将能够读取密码.在PHP中是否有某种方法可以使用适当的安全性来遵循我的方法?

更新一些更多细节:

这里的预期目标是基于使用不同的数据查询而不是让用户为每次尝试输入他的用户名和密码来对从API检索的数据进行可视化.所以API完全是无状态的,但带有gui的web应用程序应该是有状态的.

在这种情况下,我无法控制Rest API,因此每个请求都将始终要求使用基本身份验证发送API用户名和密码,没有其他方案,如API密钥,会话令牌或类似的东西.这就是为什么我必须在用户会话持续时保留用户名和密码,并且我想知道将它们存储在会话变量中的方法是否可以被认为是安全的.

只要您不在REST API服务器上存储会话状态,只在您的客户端webapp上存储,从架构的角度来看似乎没问题.

如果你真的必须使用用户名和密码并且无法获得一次性令牌,你可以使用服务器端密钥加密它们,并在将它们发送到API时即时解密,所以即使有人可以劫持一个会话,他们无法获得没有服务器端密钥的用户名和密码,但你应该更加小心,无论如何泄漏你的php会话.

PHP Session Security.

按照该问题的答案中列出的步骤进行操作,但您应在所有交互中使用HTTPS,在用户和Web应用程序之间以及在webapp和REST API之间使用HTTPS.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读