Сегодня я прочитал несколько прекрасных вопросов и ответов о работе с пользовательским вводом. Сейчас я использую htmlspecialchars () для отображения пользовательских данных в формах создания / редактирования (но принимаю необработанный ввод через подготовленные операторы PDO в моей базе данных).
Главный вопрос, который я знаю, состоит в том, что вы делаете, когда разрешаете пользователю отправлять HTML, который затем будет отображаться для публики. Очевидно, что htmlspecialchars () больше не подходит, так как он просто кодирует теги и делает содержимое бесполезным по назначению.
Мое приложение в настоящее время принимает HTML от администратора для описания продуктов. Это позволило бы злонамеренному администратору внедрить потенциально небезопасные данные в общедоступные страницы.
Как люди справляются с этим?