0

我已经构建了一个 Web 应用程序,允许用户从那里查看一些数据。在家里,每个用户都有一个将这些数据发布到 php 脚本的网关。然后该脚本将数据插入到我的 MySQL 数据库中。

我需要脚本来验证它正在处理的请求是否来自网关和正确的网关。通过这种方式,不允许从其他人的网关推送数据或仅使用网络浏览器传递虚假数据。但是如何构建呢?

我想出了以下解决方案:

  1. 检查 HTTP 标头以查看使用的用户代理。
  2. 验证 IP 地址,因为它保存在数据库中。
  3. 使用令牌系统。

我知道 IP 地址检查不是一个很好的解决方案,因为公共 IP 可能会更改或被其他人使用。但是最好的解决方案是什么?你们对令牌系统有任何提示或示例代码吗?谢谢你的帮助。

4

1 回答 1

1

最好的解决方案是第三种,令牌系统,因为用户代理可以使用浏览器插件或其他方式更改,IP 地址可能是动态的,即使您同时使用用户代理和 IP 地址检查,您也有很大机会识别用户错误的。但是在使用令牌系统的情况下,当令牌将动态生成并且只存在于下一个请求时,它将使您的应用程序更加安全。这是一个很好的例子:

于 2012-07-26T13:05:08.497 回答