Я использую подготовленные операторы для хранения, извлечения и обновления данных в базу данных или из нее. Нужно ли использовать htmlspecialchars() или htmlentities(), если я использую подготовленные инструкции?Использование htmlspecialchars() или htmlentities() в подготовленных операциях
Из того, что я понимаю, что вам не нужно использовать htmlspecialchars() при вставке данных, и это касается только HTML, который выводимые ...
У меня есть ситуации, когда я использую подготовленное заявление для хранения входных данных пользователя от формы регистра, как так:
$stmt = $conn2->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)");
$stmt->bind_param('sss', $username, $email, $password);
$stmt->execute();
у меня есть другой сценарий, извлекая имя пользователя и пароль при входе в систему и отображения их имя пользователя на экране, как так:
$stmt = $conn2->prepare("SELECT username FROM users WHERE username = ? AND password = ?");
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows == 1) {
$stmt->bind_result($name);
$stmt->fetch();
Я также поставил имя пользователя в сеансе и повторил сеанс, как так:
echo $_SESSION['user']['username']
Из этого примера, нужно ли мне использовать htmlspecialchars() или htmlentities() при отображении имени пользователя? Это что означает вывод HTML?
Если да, то где бы я реализовал htmlspecialchars() или htmlentities() ??
Я думаю, вы бы хорошо читали [Великий эскапизм (или: что вам нужно знать, чтобы работать с текстом внутри текста)] (http://kunststube.net/escapism) – deceze
Спасибо за это - помогите lot – user1278496