Я использую функцию htmlspecialchars()
для предотвращения XSS-атак. У меня есть сомнения относительно того, что является лучшим способом для хранения данных в базе данных из следующих.
Метод 1: Сохранение введенных пользователем значений после применения функции htmlspecialchars()
. Используя это, пользовательский ввод "<script>"
станет "& lt; script & gt;" .
Метод 2: Сохраните пользовательский ввод как есть и примените метод htmlspecialchars()
при получении данных и их отображении на странице.
Причина, по которой я сомневаюсь, заключается в том, что при использовании метода 1 в базе данных будут накладные расходы, в то время как при использовании метода 2 данные необходимо преобразовывать снова и снова при запросе через php. Поэтому я не уверен, какой из них лучше.
Для получения дополнительной информации я использую htmlspecialchars($val, ENT_QUOTES, "UTF-8")
, чтобы преобразовать 'и' также.
Пожалуйста, помогите мне прояснить мои сомнения. Также предоставьте объяснение, если это возможно.
Спасибо.