2

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

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

4

1 回答 1

1

如何验证对 Web 服务的请求是否来自 php 应用程序(或任何授权来源)并且不是伪造的?

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

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

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

从谷歌搜索/研究这些主题开始:

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

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

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

于 2012-09-22T05:18:02.630 回答