1

我正在寻找构建一个可以部署在我的服务器上以监控系统负载的 API。
它将报告给运行客户端以显示信息的中央管理服务器。

我正在努力解决的问题是最好保护 API。
我想要的是让客户端成为唯一可以访问服务器并检索此信息的软件,但我不确定如何使用 PHP 来实现这一点。
我还希望能够分发 API 和客户端供其他人在他们的服务器上使用,所以我不希望人们在使用 API 时也能够访问其他人的数据。

客户端也是使用 MySql 用 PHP 编写的,并且具有安全登录。

4

2 回答 2

1

这听起来像你试图解决错误的问题。

我还希望能够分发 API 和客户端供其他人在他们的服务器上使用,所以我不希望人们在使用 API 时也能够访问其他人的数据。

唯一正确的答案是身份验证。您需要通过为每个用户提供只有他们知道的访问凭证来保护您的 API。

您的 API 绝不能泄露任何不允许客户端根据其身份验证凭据查看的数据。试图通过试图以某种方式保护客户端免受窥探来解决这种危险是不安全的 - 可以访问客户端并可以观察到它正在运行的人将能够对它和服务器之间的任何流量进行逆向工程,只要付出足够的努力。

如果 API 得到适当保护,那么使用哪个客户端工具来访问它对您来说并不重要。限制对某个程序的 API 访问的要求将消失。

于 2013-03-14T10:12:23.253 回答
0

如果您使用 SSL 以及身份验证(我使用 3rd 方身份验证 google、fb 等),请即时创建数据 /reports 并将数据保存在您的 Web 文件夹外部的子目录中(而不是 /var/www、/var /myStorage/currentSessionId/),那么你基本上保证了你想要的安全性。

您的 php 将仅访问为其运行的会话命名的子目录。

于 2013-03-14T10:09:06.607 回答