我是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密钥以便无法公开显示?
答案 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标头(尤其是从前端应用程序)并非易事。