Должен ли я защищать ввод от пользователей, когда я вставляю эту информацию в файл?

#php #file

#php #файл

Вопрос:

Итак, мы все знаем, что если пользователь вводит что-то во ввод, и мы помещаем это в базу данных, мы должны сделать это безопасным (использовать mysql_escape_string и так далее).

Но когда мы добавляем пользовательский ввод в файл, нужно ли нам его защищать (помимо специальных символов htmlspecialchars)?

Спасибо.

Комментарии:

1. Зависит от того, что вы планируете делать с файлом и что это за файл?

Ответ №1:

Это сильно зависит от того, что происходит с данными впоследствии. Вам не нужно избегать этого (поскольку не существует такой вещи, как «внедрение файла»), но вы должны быть осторожны при печати содержимого обратно в браузер. (strip_tags и / или htmlspecialchars)

Ответ №2:

будут ли эти файлы когда-либо просматриваться таким образом, который сделает клиентский процесс / компьютер уязвимым?

Если я внедряю вредоносный скрипт javascript, который плохо работает на вашем компьютере, имеет ли для вас значение, отображается ли он из базы данных или из файла в вашем браузере?

Ответ №3:

В общем, если у пользователя нет причин когда-либо вводить определенный символ, тогда не разрешайте это. Обычно я реализую их с помощью белых списков, в отличие от черных списков. Определите, как выглядит допустимое поле, и разрешите использовать только те символы, которые являются обязательными.

Ответ №4:

Чтобы ответить на ваш вопрос напрямую, нет.