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

如何在谷歌地图中隐藏带有标记的XML文件?,xml,maps,Xml,Maps,如何隐藏php文件的名称,该文件在谷歌地图中生成带有dispaly标记的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

如何隐藏php文件的名称,该文件在谷歌地图中生成带有dispaly标记的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>';
var-map=new google.maps.map(document.getElementById(“地图画布”),mapOptions);
var infoWindow=new google.maps.infoWindow;
//根据PHP文件的名称更改此选项
下载URL(“google_map.php”,函数(数据){
风险值Seskuepene=[];
var xml=data.responseXML;
var markers=xml.documentElement.getElementsByTagName(“标记”);
对于(var i=0;i
文件google_map.php返回带有标记的XML文件。我不希望有人进入您的浏览器url[http://.../google_map.php]并下载包含数据的XML文件


如何保护?谢谢你的意见。

你不能真的隐藏它,但你可以通过使用额外的信息(如会话cookie)使它只有原始浏览器可以轻松下载,因此仅仅知道确切的URL是不够的。你可以向URL添加更多参数,如一些其他数据的校验和,这些数据必须匹配,并且可以n根据每个请求进行更改;或者只是一个必须与您在服务器上的会话中存储的值一致的随机数。

您不能真正隐藏它,但您可以通过使用额外信息(如会话cookie)使其仅由原始浏览器轻松下载,因此仅知道确切的URL是不够的。您可以添加更多参数到URL,就像一些其他数据的校验和,这些数据必须匹配,并且可以在每次请求时更改;或者只是一个随机数,必须与您在服务器会话中存储的值一致。

我认为这是不可能隐藏的,但您至少可以让scraper的生活变得更困难。一种可能性是bart告诉y的欧点。 另一种可能是检查推荐人。但是:这也不是防弹的! 试着这样做:

$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
}

在我看来,这是不可能隐藏的,但你至少可以让刮刀的生活变得更艰难。一种可能是巴特告诉你的。 另一种可能是检查推荐人。但是:这也不是防弹的! 试着这样做:

$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
}