我正在使用谷歌的geocoding api。我将使用像这样的ajax点击以下端点...
$.ajax({
url: https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=MY_API_KEY,
success: function(data) {
console.log("yay");
}
})
将我的api密钥直接添加到我的javascript中是否安全?这意味着它可以从我的网站和源代码控制中查看。 应采取哪些预防措施?
答案 0 :(得分:3)
否,您应该完全隐藏客户端和源代码管理中的API密钥。恶意用户可能会使用该密钥来耗尽您的配额,从而使您的应用程序可能无法使用。
要避免这种情况,请创建一个服务器,该服务器从API获取数据,然后将其提供给用户。此外,您应该应用速率限制,以防止用户通过您自己的应用程序耗尽配额。
有关详细信息,请参阅this support article。
答案 1 :(得分:1)
还要考虑使用Google Maps JavaScript API中的Geocoding Service。加载JavaScript API时,请务必use an API key that is restricted to your website。
请记住Google地理编码服务must be displayed on a Google map的结果(参见10.4.d和10.4.e)。