隐藏Carto Sql Api Key?

时间:2017-08-24 01:27:00

标签: javascript php cartodb

目前我正在使用catro.js将包含多边形的carto表加载到我的地图上的php文件中,并且密钥在javascript中可见。下面给出的示例是调用sql api。

var layerStyle = $('#landuse-style').text();
cartodb.createLayer(CartoDbLib.map, {
  user_name: 'sandyjones',
  type: 'cartodb',
  sublayers: [{
    sql: "SELECT * FROM master " + query,
    cartocss: layerStyle,
  }],
  extra_params: {
      map_key: "myAPiKey"
  }
}

如果您可以建议我可以使用的代码示例,如何使用代理php文件或后端php文件在我的服务器上隐藏此api密钥。

某个时候我试过但是我遇到了一个问题,即来自carto服务器的图像的url会包含地图密钥。

1 个答案:

答案 0 :(得分:0)

我担心你需要创建自己的代理。这是一个基于node.js的代理作为示例:https://github.com/CartoDB/cartodb-api-proxy,但这不是支持的代码,可能它甚至已过时。

如果您的表数据是公开的(并且它将是公开的 - 也通过代理),那么我将表定义为" Public"在Carto网站中,您的应用根本不需要将API密钥放入请求中。