我是PHP的新手:)。我正在使用PHP创建一个REST API,供移动客户端(Android和IOS)使用。目前,PHP网站(yii)允许用户使用用户名和密码登录(散列并存储在DB中)。我想到实现这个的方式是,我可以有一个登录REST api调用来验证用户并生成一个令牌(一些随机数或sessionid)并将该令牌的散列发送给客户端。然后,客户端可以在REST api调用上每次在http标头上传递该标记,并且api方法将在每次调用时验证这个标记吗?
现在,
答案 0 :(得分:0)
我的答案不会是唯一的答案,我相信你会在这个问题上得到很多反馈。
首先是哈希。我不建议这样做。哈希可以在中间攻击等人的路线中被窃听。一般来说,URL中的敏感信息是个坏主意。
为什么不使用普通会话?在第一次呼叫时授权...然后在服务器和呼叫者上创建会话......这样就可以确保接下来的请求得到授权。
用户/服务/服务器可以简单地引用创建的会话cookie,并通过这样做进行验证。这种方式更安全,不会泄露敏感信息。
并且..如果可能的话当然使用HTTPS ...否则信息也可以被攻击接受。这一切都取决于你想要的安全级别。你可以堆叠安全层......但如果你通过线路发送关于猫的信息,这可能没有意义:)