如何隐藏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> </div><div><a href="">' + mail + '</a></div><div>' + phone + '</div>'+
'<div> </div><div><a href="">Detail autoškoly ...</a></div>'+
'</div>'+
'</div>';
文件google_map.php返回带有标记的XML文件。我不希望有人进入您的浏览器网址[http://.../google_map.php]并下载包含数据的XML文件。
我如何安全?谢谢你的意见。
答案 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
}