保护Google Maps JavaScript API密钥

时间:2017-05-04 05:56:56

标签: javascript api google-maps api-key

我是javascripts的新手。我正在使用Google Maps JavaScript API在我的网站中添加自动填充功能。代码需要API密钥才能执行。

<script src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&libraries=places"></script>

我想保护此API密钥,因为这是公开的,任何人都可以使用浏览器上的view page source查看我的javascript代码。

如何保护此API密钥以便无法公开显示?

2 个答案:

答案 0 :(得分:3)

Google地图有许多种API密钥。

浏览器/ Javascript键旨在用于获取JS /前端库,可以使用。

只需确保您使用的浏览器密钥位于此处:https://developers.google.com/maps/documentation/javascript/get-api-key

您可以进一步添加安全限制,以防止密钥在其他地方使用。你也可以通过域名,IP地址,android,ios应用程序进行限制。

注意,服务器端密钥应该是私有的。

答案 1 :(得分:0)

由于要在前端应用程序的Javascript中使用此密钥,因此没有万无一失的方法来保护它。

您能做的最好的事情就是根据Referer标头将API密钥限制为“应用程序”限制,并且仅将Maps API限制为API。

https://developers.google.com/maps/documentation/javascript/get-api-key#restrict_key

https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions

这使得某些其他应用程序很难摆在您的应用程序中,因为要模仿模仿Referer标头(尤其是从前端应用程序)并非易事。

https://security.stackexchange.com/questions/152066/what-is-the-point-of-restricting-a-google-api-key-by-http-referer