我有一个函数来检查,如果通过jQuery这使得到一个按钮,我的索引页面上点击改变某些图像时,我会用一个PHP脚本调用存在的文件。
jQuery函数:
function fileExists(path){
$.getJSON("/ajax/fileExists.php",{ path: path },
function (data){
return data.path;
});
}
fileExists.php:
$path=$_SERVER['DOCUMENT_ROOT'].'/packs'.$_GET['path'];
if(file_exists($path)){
echo json_encode(TRUE);
}else{
echo json_encode(FALSE);
}
我很担心使用该脚本可以列出我可能不希望他们知道,所以我已经使用DOCUMENT_ROOT和/包我的服务器或文件的内容,以试图限制到该目录调用的人,但我认为,人们可以简单地使用../提供的路径中检查的替代品。
是什么使这个安全,最好把它限制在/包,以及是否有任何其他问题,我应该担心的最佳方式?
编辑:在JavaScript / jQuery的一个例子电话:
if( fileExists('/index.php') ){
alert('Exists');
}else{
alert('Doesn\'t exist');
}