如何在谷歌地图中用标记隐藏XML文件?

时间:2013-04-02 07:49:56

标签: xml maps

如何隐藏php文件的名称,该文件生成带有标记的XML文件,以便在谷歌地图中显示?

我有以下JS代码:

var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var infoWindow = new google.maps.InfoWindow;


  // Change this depending on the name of your PHP file
  downloadUrl("google_map.php", function(data) {

    var seskupene = [];

    var xml = data.responseXML;

    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var name = markers[i].getAttribute("name");
      var street = markers[i].getAttribute("street");
      var psccity = markers[i].getAttribute("psccity");
      var phone = markers[i].getAttribute("phone");
      var mail = markers[i].getAttribute("mail");
      var href = markers[i].getAttribute("href");
      var image = markers[i].getAttribute("image");
      var coord = new google.maps.LatLng(
          parseFloat(markers[i].getAttribute("lat")),
          parseFloat(markers[i].getAttribute("lng")));

      var html = '<div class="g_div">'+
                    '<div class="g_title">' + name + '</div>'+
                    '<div class="g_img"><img src="' + image + '"></div>'+
                    '<div class="g_data">'+
                        '<div>' + street + '</div><div>' + psccity + '</div>'+
                        '<div>&nbsp;</div><div><a href="">' + mail + '</a></div><div>' + phone + '</div>'+
                        '<div>&nbsp;</div><div><a href="">Detail autoškoly ...</a></div>'+
                    '</div>'+
                 '</div>';

文件google_map.php返回带有标记的XML文件。我不希望有人进入您的浏览器网址[http://.../google_map.php]并下载包含数据的XML文件。

我如何安全?谢谢你的意见。

2 个答案:

答案 0 :(得分:1)

你无法真正隐藏它,但你可以做到这一点,只有原始浏览器可以通过使用额外的信息,如会话cookie轻松下载它,所以只知道确切的URL是不够的。您可以向URL添加更多参数,例如必须匹配的其他一些数据的校​​验和,以及每个请求可以更改的参数;或者只是一个随机数,必须与您在服务器上的会话中存储的值一致。

答案 1 :(得分:0)

我认为不可能隐瞒这一点,但你至少可以让刮刀的生命更加艰难。一种可能性是巴特告诉你的。 另一种可能性是检查推荐人。但是:这也不是防弹! 尝试这样的事情:

$referrer = $_SERVER['HTTP_REFERER'];
if (!preg_match("/yourdomain.com/",$referrer)) {
    header('Location: http://www.yourdomain.com'); 
    //send the user to your startpage
}
else{
//your code to generate the XML
}