Я думаю, что я прочитал в stackoverflow.com, что «если вам нужно экранирование или подобное действие, сделайте это как раз вовремя», то на страницах проверки, где я проверяю пользовательские входы (нуль или не проверка, проверка длины и структурные проверки (например, : структура почты, структуры пользовательских тегов), я использую переменные $_POST['']
качестве входных данных. Во время проверок даже в пользовательских частях печати ошибок мои сообщения об ошибках не содержат значений $_POST['']
в сообщении тексты.
В качестве промежуточного примечания: я использую подготовленные заявления и параметризованные запросы во время взаимодействия php-MySql. Если входные данные проверены; непосредственно перед INSERT'ing INTO MySql, я удаляю теги из ввода, так как не разрешаю никаких html-тегов, кроме настраиваемых структурированных тегов. (например, **bold text** === <strong>bold text</strong>
). Затем я вставляю пользовательский ввод в MySql db.
Я применяю только команду htmlspecialchars () для вывода на экран из MySql db
Я не уверен в себе. Есть ли очевидная или скрытая слабость в моем подходе? Заранее благодарим за ценные комментарии php gurus. BR
Я не буду снимать теги во время вставки в MySql db. По причинам, пожалуйста, обратитесь к комментариям ÁlvaroG.Vicario ниже. BR.