我的问题是关于此特定操作的PHP安全性:
我想使用javascript从我的Web服务器上的特定目录中提取所有json文件。我这样做了: 我用这个PHP脚本(“get-data.php”)拉出所有正确的文件名:
<?php
echo json_encode(glob('*.json'));
?>
然后我用
将该数组移动到javascript中var oReq = new XMLHttpRequest();
oReq.onload = function() {
fileNames = JSON.parse(this.responseText);
};
oReq.open("get", "get-data.php", true);
oReq.send();
然后我使用以下内容将文件读入数组:
function getMapInfo(fileName){
$.get(fileName, function(result) {
var map = JSON.parse(result);
mapData.push(map);
});
}
我从这里得到了一些代码:How to pass variables and data from PHP to JavaScript? 我已经读了xss一点here和here,我的理解是“不受信任的数据”是用户输入的数据,然后在脚本中运行?我相信我的上述解决方案不包含不安全的数据,因为它只提取我服务器上已有的文件,这是正确的吗?
总的来说,我的问题是:这是一种允许我的代码从我的服务器检索多个未知文件的安全方法吗?最后,我希望用于将地图数据“保存”到服务器,然后由上面的脚本读取,供其他人查看。
非常感谢,
约旦
答案 0 :(得分:1)
是的,这是非常安全的。您需要确保安全性是PHP代码的一部分,在需要时,通过限制或过滤它可以选择的内容(已经很好)以及如何验证和存储.json文件,一旦解决,您将没事,并且您的现有解决方案非常安全。如果您担心其他人在您的网站上查看目录,您也可以修改.htaccess文件以隐藏文件夹内容。