1) Ввод информации в базу данных с использованием PDO: подготовить запрос, привязать переменные с указанием типа и execute, если входных данных нет можно и query. Если id, допустим статьи, передается через GET запрос, нужно привести его к integer $sth->bindValue(1, (int) $id, PDO::PARAM_INT); Если среди входных данных, например, название колонки в таблице, лучше использовать заранее подготовленный массив со всеми названиями колонок, проверять на наличие in_array(), если есть выполнять.
2) Информацию из базы данных(введенную пользователем)выводить внутрь тега после выполнения htmlspecialchars или strip_tags;
3) Если информация выводится не в тег, а его атрибут (Например, мы хотим оставить в input'e значение при неправильном заполнении формы) использовать htmlspecialchars со вторым аргументом ENT_QUOTES, т к значение атрибута value может быть заключено не в двойные, а одинарные кавычки.
Пробовал через уязвимости добавлять блоки с событиями или ссылки с href="javascript: ... браузер сам все блокировал.
Все ли я делаю правильно? Заранее благодарю за советы.