Мой вопрос о безопасности PHP для этой конкретной операции:
Я хочу использовать JavaScript для извлечения всех файлов 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);
});
}
Я получил этот код здесь: Как передать переменные и данные из PHP в JavaScript?
и я немного прочитал на xss Вот а также Вот и я понимаю, что «недоверенные данные» — это данные, которые пользователь вводит, которые затем запускаются в сценарии? Я считаю, что мое решение не содержит небезопасных данных, так как оно извлекает только файлы, которые уже находятся на моем сервере, это правильно?
В целом мой вопрос: это безопасный способ, позволяющий моему коду получать несколько неизвестных файлов с моего сервера? В конце концов, я хочу использовать «сохранить» данные карты на сервере, которые затем будут прочитаны вышеуказанным сценарием, чтобы другие могли их увидеть.
Спасибо большое,
Иордания
Да, это совершенно безопасно. Вам просто нужно убедиться, что безопасность является частью php-кода, когда это необходимо, ограничивая или фильтруя то, что он может выбрать (там уже все хорошо), и как файлы .json проверяются и сохраняются, после того, как с этим обращаются, у вас все будет хорошо, и ваши Существующее решение совершенно безопасно. Вы также можете изменить файл .htaccess, чтобы скрыть содержимое папки, если вас беспокоит то, что другие пользователи просматривают каталоги на вашем сайте.
Других решений пока нет …