1

如何隐藏 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 文件。

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

4

2 回答 2

1

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

于 2013-04-02T08:07:35.387 回答
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
}
于 2013-05-01T18:50:19.737 回答