Php 保护对应用程序引擎服务的访问
我有一个具有以下访问点的GAE java服务: 获取成本(id) 设置成本(id,新成本) 域名:myService.appspot.com 我还有一个前端php应用程序:frontend.different-domain.com 这将需要能够访问这两个端点。任何人都可以公开访问getCost,但我想知道如何保护setCost()端点,使其仅限于来自frontend.different-domain.com的请求 我想避免随机的人打电话给setCost,改变物品的价格Php 保护对应用程序引擎服务的访问,php,security,google-app-engine,authentication,Php,Security,Google App Engine,Authentication,我有一个具有以下访问点的GAE java服务: 获取成本(id) 设置成本(id,新成本) 域名:myService.appspot.com 我还有一个前端php应用程序:frontend.different-domain.com 这将需要能够访问这两个端点。任何人都可以公开访问getCost,但我想知道如何保护setCost()端点,使其仅限于来自frontend.different-domain.com的请求 我想避免随机的人打电话给setCost,改变物品的价格 谢谢在您的情况下,最简单的
谢谢在您的情况下,最简单的解决方案是在php前端生成签名,并将其与其他参数一起包含在请求数据中。然后,AppEngine服务自行计算签名,如果计算出的签名与您在请求中发送的签名匹配,则该请求被认为是真实的 您可以使用一些密钥生成签名,这些密钥只有php前端和应用程序引擎后端知道。我是Python程序员,所以我无法告诉您它在Java或php中的外观,但您需要执行以下步骤: 在php应用程序中:
secret\u KEYid5newCost537
签名
和签名1
。如果它们相等,则请求是真实的此外,如果你的用例比你的问题更复杂,你可以考虑使用.
一个更简单的方法是使用X-AppEngult-InEndo-AppID标头: