#php #file
#php #файл
Вопрос:
Итак, мы все знаем, что если пользователь вводит что-то во ввод, и мы помещаем это в базу данных, мы должны сделать это безопасным (использовать mysql_escape_string
и так далее).
Но когда мы добавляем пользовательский ввод в файл, нужно ли нам его защищать (помимо специальных символов htmlspecialchars)?
Спасибо.
Комментарии:
1. Зависит от того, что вы планируете делать с файлом и что это за файл?
Ответ №1:
Это сильно зависит от того, что происходит с данными впоследствии. Вам не нужно избегать этого (поскольку не существует такой вещи, как «внедрение файла»), но вы должны быть осторожны при печати содержимого обратно в браузер. (strip_tags и / или htmlspecialchars)
Ответ №2:
будут ли эти файлы когда-либо просматриваться таким образом, который сделает клиентский процесс / компьютер уязвимым?
Если я внедряю вредоносный скрипт javascript, который плохо работает на вашем компьютере, имеет ли для вас значение, отображается ли он из базы данных или из файла в вашем браузере?
Ответ №3:
В общем, если у пользователя нет причин когда-либо вводить определенный символ, тогда не разрешайте это. Обычно я реализую их с помощью белых списков, в отличие от черных списков. Определите, как выглядит допустимое поле, и разрешите использовать только те символы, которые являются обязательными.
Ответ №4:
Чтобы ответить на ваш вопрос напрямую, нет.