我们是否应该在php服务器上创建会话,用于从移动设备访问我的php api

我们是否应该在php服务器上创建会话,用于从移动设备访问我的php api,php,ios,Php,Ios,我已经创建了从ios应用程序访问的api。还有登录和注册页面。 当用户访问api时,从ios代码发送用户的用户ID作为post。 若数据库中的用户id匹配,则允许用户继续进行api调用,否则会向用户显示“无效请求”消息 如果我继续使用这种方法,或者当用户登录php服务器时,我需要在php会话中存储用户信息,而不是每次向php发送用户id,我应该从php会话中选择uses id 有谁能帮我找到更好的方法并说明原因。 我发现在php服务器上维护会话没有用。会话是在ios端进行的。您描述的是一种非常不

我已经创建了从ios应用程序访问的api。还有登录和注册页面。 当用户访问api时,从ios代码发送用户的用户ID作为post。 若数据库中的用户id匹配,则允许用户继续进行api调用,否则会向用户显示“无效请求”消息

如果我继续使用这种方法,或者当用户登录php服务器时,我需要在php会话中存储用户信息,而不是每次向php发送用户id,我应该从php会话中选择uses id

有谁能帮我找到更好的方法并说明原因。
我发现在php服务器上维护会话没有用。会话是在ios端进行的。

您描述的是一种非常不安全的身份验证方法:

  • 嗅探对话的每个人都可以随后使用api

  • 一个人甚至可以很容易地进行暴力攻击,你只需要尝试所有可能的名字,可能只需要几分钟的时间就可以得到一个中等长度的名字

因此,您应该实施某种挑战来保护身份验证。最简单的(尽管最不安全)是一个附加密码。您必须加密客户端和服务器之间的对话

完成后,您当然希望在服务器端使用会话。会话只允许对用户进行一次身份验证。这为后续请求节省了不少麻烦


我能想到的唯一替代方法是使用客户端ssl证书,通过服务器对客户端进行身份验证。这是非常安全的,但是您需要为每个客户端创建并安装一个证书

您基本上是在寻找一种身份验证方法来保护web服务API

尝试实现OAuth,因为它是向其他客户端提供API访问的最安全的方法之一

它基本上是这样工作的

对于向您注册的每个需要API访问的用户,您将为他们生成一个身份验证令牌。然后,他们需要向您注册一个客户端应用程序,您为其生成一个密钥和令牌。当客户端应用程序发送请求时,第一个请求中必须包含密钥和身份验证令牌,您的应用程序必须验证并发送确认令牌。然后,您可以安全地进行后续请求

以上只是oauth的要点。要获得更好、更详细的实现,请访问以下链接