我的网站使用Google Maps API。我最近收到了Google发来的一封电子邮件,说我应该从浏览器密钥切换到服务器密钥,以便在2015年12月2日之后继续使用API。
因此,如果我没有弄错的话,我只需要在Google控制台中申请服务器密钥并将其替换为我的Bowser密钥?就这么简单吗?
以下是电子邮件的一部分:
昨天,我们宣布了七款Google的即付即用选项 适用于免费,外部,公开网站的Maps API Web服务 和移动实施。作为此次发布的一部分,我们正在紧缩 关于开发人员如何识别其API使用的安全性。您 正在接收此电子邮件,因为您可能会受到此更改的影响。
从今天开始,我们已弃用“浏览器密钥” 应用程序'或'浏览器键'与Google Maps API Web服务。 开发人员应该使用“服务器密钥”来使用这些服务。任何 新创建的浏览器密钥不起作用,但现有的浏览器密钥 从今天开始将继续工作90天。 12月2日 2015年,我们将完全禁止使用浏览器密钥进行访问 Google Maps API Web服务,此时向Google发送任何请求 使用此类密钥的Maps Web Services API将开始失败。
目前,在我的HTML中,我有以下内容加载Google Maps API:
<script scr="https://maps.googleapis.com/maps/api/js?v=3&signed_in=false&key=MY_BROWSER_API_KEY&sensor=false"></script>
在同一网站的另一个页面中,我使用服务器端的YouTube数据API,向我提供从Google控制台获取的SERVER_KEY。 代码如下:
require_once 'google-api-php-client/src/Google/autoload.php';
$client = new Google_Client();
$client->setDeveloperKey(GOOGLE_API_SERVER_KEY);
$youtube = new Google_Service_YouTube($client);
答案 0 :(得分:0)
是的,您所要做的就是更换钥匙。白名单存在并发症,可能会或可能不会影响人们。需要合并服务器和Web密钥之间的白名单。如果服务器不是每次都使用相同的IP地址发送传出通信,则会出现问题。例如,对于我的公司,我们的设置是一组从公共池动态分配ips的实例。在我们的例子中,我们将添加一个额外的网络接口。
因此,更好地回答您的问题取决于您是仅在公共网页中使用密钥,还是在服务器上使用密钥。如果您使用服务器上的密钥,并且密钥已连接到特定地图api服务的付费Google帐户,则您必须找出传出的IP地址并将每个地址添加到列表中。
很多人,特别是在共享主机帐户上,直到现在还没有白名单列出服务器IP,因为它可能被隐藏,人们盗取密钥的风险很小。但是现在,在接下来的90天里,当人们还必须将密钥放入他们的html中时,许多私有服务器密钥将被公开暴露。这可能意味着在我看来会有从共享主机到更受控制的环境的小型迁移。