正如我的评论所说:
REFERER是可欺骗的,因此Google不太可能将其用作验证手段。请参阅此维基百科条目。
我的猜测是Google可能使用呼叫者的IP地址以及DNS查找。DNS并非真的是可欺骗的,因为您的DNS条目必须正确才能使网站连到您。
但是,即使那样也有问题,因为如果服务器使用循环IP地址DNS设置,则在执行DNS查找时,Google将被重定向到其他IP地址。
从常见问题
请注意,只有使用此地址访问该网站时,才会接受http://www.mygooglemapssite.com/的密钥。如果通过IP地址(例如http://10.1.2.3/)或使用DNS CNAME记录别名为www.mygooglemapssite.com的主机名访问该站点,则该站点将不被接受。
我的猜测是,它可能正在使用Host
请求页面时发送的标头,这通常会像Google要求您将其API脚本直接包含到页面中那样工作。然后,该脚本可以访问当前页面的标题,并可以使用它进行检查。
我的猜测得到了支持,因为它不适用于IP地址或别名,这意味着它没有在进行DNS检查。
此方法不能被欺骗,因为它必须是访问页面的正确标题。但是,这意味着该域的任何别名将不起作用。
但是,这也意味着您必须提供一个Javascript库来访问代码,因为我不能检查此服务器端。