我正在制作一个PHP应用程序,允许我们的客户使用预定义的功能从我们的数据库中检索信息。也许PHP不是最好的选择,但同一页面也被用作flash应用程序的后端,我们没有时间用另一种语言重写它(如果我们确实有这段时间,我愿意接受建议。)
他们将通过URL访问该页面,例如:
http://myurl.com/test.php?function=getUser&username=John
这将调用函数getUser($username)
并将值John
作为$username
参数传递。 以下是扭曲:此页面将从客户创建的应用程序调用,而不是从浏览器调用。
允许他们获取有关某些用户的信息,但不能获取其他用户的信息。为了强制执行此操作,我要求他们提供登录信息。我不确定如何让用户登录,这样他们每次调用函数时都不必传递登录信息,这可能是每秒多次。
我认为我不能使用会话或cookie,因为他们没有从浏览器调用该页面。那么如何让该用户登录呢?
答案 0 :(得分:1)
您可以考虑在您的最终设置类似SOAP API的内容。然后,您可以为他们提供一个令牌,这些令牌在他们发出的每个请求之间来回(可能会发生变化)。
阅读SOAP并查看它是否至少为您提供了任何灵感。就实施而言,您的选择很多。也许考虑使用框架?
答案 1 :(得分:0)
你已经击中了无国界的墙:D。
您需要使用某些库或某些令牌交换来创建会话感知浏览器客户端对象。但只要您在调用之间使用单独的会话,您将需要再次访问数据库以授权用户;是否是令牌。
答案 2 :(得分:0)
简单回答:你不能,因为HTTP是无状态的。
但是:你可以使用与cookie相同的原则,即“在不传输秘密的情况下发送一些身份验证信息和请求”。查看 OAuth 以及它是否适合您的方案。您甚至可以使用现成的PHP库。