我想了解基于URL的API密钥限制是如何工作的,例如谷歌用于保护其Google Maps服务的方法。
据我从这篇文章“ 限制访问Ajax服务”中所理解的,这个过程包含两个部分:首先,服务使用单向哈希函数为给定域创建一个特定的密钥;其次,该服务根据Referer标头验证密钥。
虽然这篇文章已经相当详细地解释了,但我仍然不明白验证方法有多安全。我的意思是,如果只根据Referer来检查密钥,那么这种方法很容易被伪造吧?我认为,在hosts文件中简单地添加“127.0.0.1 www.mydomain.com”就足以欺骗验证器,并认为Referer是www.mydomain.com。
也许我误解了一些内容,希望能得到一些澄清。
据我从这篇文章“ 限制访问Ajax服务”中所理解的,这个过程包含两个部分:首先,服务使用单向哈希函数为给定域创建一个特定的密钥;其次,该服务根据Referer标头验证密钥。
虽然这篇文章已经相当详细地解释了,但我仍然不明白验证方法有多安全。我的意思是,如果只根据Referer来检查密钥,那么这种方法很容易被伪造吧?我认为,在hosts文件中简单地添加“127.0.0.1 www.mydomain.com”就足以欺骗验证器,并认为Referer是www.mydomain.com。
也许我误解了一些内容,希望能得到一些澄清。