我有一个面向公众的API,可以在内部使用Google Maps API服务返回一些数据。此API主要用于内部目的,通过Web应用程序调用。 但是,我希望限制此API的使用,即只有当用户(未注册)浏览时才应从我的Web应用程序(或移动应用程序)调用它。不应授权直接向此API发出http请求。
我无法使用API密钥,因为webapp流程也适用于非注册用户。
答案 0 :(得分:0)
如果您不使用HTTPS,则任何安全机制都存在缺陷,因为它可以被复制。恕我直言,你可以添加一个HTTP标题(例如" Request-source:YourApp")并检查它是否存在于你的API中。
当然,一旦它以某种方式记录,任何人都可以模仿这个标题。但是,如果你使用HTTPS并创建一个其他人不知道的标题,你可以防止这种情况发生。