【发布时间】:2021-02-18 08:06:36
【问题描述】:
我正在用 PHP 编写 Web 应用程序,它将(通过 curl)与 API (Java) 进行通信以用于许可目的。 Web 应用程序将使用 IonCube 进行加密。当然会使用 HTTPS。
我担心有人会以某种方式覆盖 curl 函数,然后阻止与 API 连接。出于这个原因,我想验证客户端(PHP Web 应用程序)是否收到了来自真正 API(Java)的响应。
我的想法:API 每天都会生成唯一的令牌,客户端会在连接期间对其进行验证。缺少或不正确的令牌将阻止 Web 应用程序。除了我,没有人不知道令牌是如何生成的。
你觉得我的想法怎么样?也许我应该以不同的方式来做这件事?
【问题讨论】:
-
“我担心...覆盖 curl ...”:如果您无法连接到 API 服务器,为什么不能默认为无效状态? “API 将生成唯一令牌……将由客户端验证……”:您打算怎么做?
-
如果您打算将 PHP 源代码分发给人们,那么他们将能够更改他们想要的任何内容并可以模拟您的 API 调用(或者更确切地说,将它们一起绕过。)为了防止这种情况,您可能需要使用一些服务来帮助您加密源。
-
通常主要关注点在 Java(服务器)端,担心恶意用户攻击。为什么需要在客户端验证令牌的真实性?
-
AlexBarker 有人可以覆盖 curl 以响应许可证永久有效,我错了吗? MagnusEriksson 代码将使用 IonCube 加密。
-
我只是想检查一下客户端是否确实连接到了正确的 API,并且它没有被篡改。