是否有人知道在API端检查XMLHttpRequest是从我自己的Web应用程序(即从我编写的JS)还是从第三方应用程序发出的方法...
在我看来,问题似乎是因为JS在客户端上运行,因此我无法秘密地与我自己的API服务器进行通信的任何人都可以访问JS。我认为这很有用,因为在使用率高的情况下,我无法将自己的应用程序的请求优先于第三方客户端。
我显然可以发送一些未记录的参数,但是这些参数可能是伪造的。
有人有想法吗?
最佳答案
我会让您的Web服务器应用程序生成一个令牌,该令牌将通过JavaScript或隐藏字段传递给您的客户,然后客户将使用这些隐藏字段来调用您的API。那些拥有有效令牌的人不会获得优先权,而丢失或无效代币则不会。 Web服务器应用程序可以通过某种方式在您的系统中创建和注册令牌,从而将令牌的使用范围限制于其他尝试重用令牌的人员(例如,时间有限)。