我很想知道基于 URL 的 api 密钥限制是如何工作的,例如谷歌用来保护其谷歌地图服务的那个。
根据我从这篇文章“限制对 Ajax 服务的访问”的理解,这涉及到两个部分:首先,服务使用单向哈希函数为给定域创建特定密钥;其次,服务根据 Referer 标头验证密钥。
虽然这篇文章的解释性很强,但我仍然无法理解验证方法的安全性。我的意思是,如果只针对引用者检查密钥,这不是很容易伪造吗?我认为主机文件中的简单“127.0.0.1 www.mydomain.com”足以欺骗验证,并认为引用者是 www.mydomain.com 。
我可能误解了一些事情,一些澄清将不胜感激。