如何验证从php应用程序到我的Web服务的请求的真实性?

时间:2012-09-22 05:13:23

标签: php web-services authentication

我想接受来自php应用程序的请求到我的网络服务。如何验证对Web服务发出的请求是来自php应用程序(或任何授权的来源)并且不是伪造的?

我的网络服务依赖于收到的来自允许域的请求,而不是来自某个发送数据和预示来自该域的机器人。

1 个答案:

答案 0 :(得分:1)

  

如何验证对Web服务发出的请求来自   php app(或者任何授权的来源)并且不是伪造的?

好吧,验证他们的身份并在错误或遗失时拒绝。

  

我的网络服务依赖于收到的请求来自允许   域名而不是某些机器人

实际上,您在想的是检查HTTP引荐来源。这恰好是容易被欺骗的那些领域之一。所以你不应该真的依赖它作为有效性的最终测试。相反,我会做以下事情:

首先搜索/研究这些主题:

  • HTTP请求,特别是在标题中传递数据
  • 生成身份验证令牌
  • 在Cookie中存储身份验证令牌

所以,基本上,很多时候你会读到这样工作的API,基本上: 客户端以某种方式执行初始身份验证API方法,这将生成临时身份验证令牌(通常遵循格式,即md5(userID + timestamp + authlevel + etc + etc))。然后,在对其他API方法发出的所有后续请求中,在头中包含您的身份验证令牌。然后你的API首先验证该令牌,如果它有效,它将执行方法

有关良好API开发的教程/信息,您应该查看APIGEE