2013-04-02 121 views
1

如何隐藏php文件的名称,该文件用于在google maps中显示带有标记的XML文件?如何在Google地图中使用标记隐藏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文件。

我该如何保护?感谢您的意见。

回答

1

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

+0

请举例吗? – neattom

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 
} 
相关问题