Está evitando la inyección XSS y SQL tan fácil como esto

Pregunta: Esta previniendoXSS (secuencias de comandos entre sitios) como simple usostrip_tags en cualquier campo de entrada guardado y en ejecuciónhtmlspecialchars en cualquier salida mostrada ... y previniendoInyección SQL ¿Usando las declaraciones preparadas de PHP DOP?

Aquí hay un ejemplo:

// INPUT: Input a persons favorite color and save to database
// this should prevent SQL injection ( by using prepared statement)
// and help prevent XSS  (by using strip_tags)
$sql = 'INSERT INTO TABLE favorite (person_name, color) VALUES (?,?)';
$sth = $conn->prepare($sql);
$sth->execute(array(strip_tags($_POST['person_name']), strip_tags($_POST['color'])));


// OUTPUT: Output a persons favorite color from the database
// this should prevent XSS (by using htmlspecialchars) when displaying
$sql = 'SELECT color FROM favorite WHERE person_name = ?';
$sth = $conn->prepare($sql);
$sth->execute(array(strip_tags($_POST['person_name'])));
$sth->setFetchMode(PDO::FETCH_BOTH);
while($color = $sth->fetch()){
  echo htmlspecialchars($color, ENT_QUOTES, 'UTF-8');
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta