Mi sugerencia es crear una función para desinfectar todas sus entradas de texto y una función para verificar todas sus salidas que provienen de la base de datos o de cualquier otra fuente, como la siguiente:
<?php
// filter for user input
function filterInput($content)
{
$content = trim($content);
$content = stripslashes($content);
return $content;
}
//filter for viewing data
function filterOutput($content)
{
$content = htmlentities($content, ENT_NOQUOTES);
$content = nl2br($content, false);
return $content;
}
dependiendo de su estrategia, puede agregar funciones adicionales al filtro o eliminar algunas. Pero lo que tiene una función aquí es suficiente para protegerlo contra XSS.
EDITAR: además de la función anterior, esta respuesta también podría ser relevante en parte de la protección de su sitio web.
Referencia a los diferentes métodos:
- recortar:http://php.net/manual/en/function. recortar.php
- stripslashes:http://php.net/manual/en/function. tiraslashes.php
- entidades html:http://php.net/manual/en/function. htmlentidades.php
- nl2br:http://php.net/manual/en/function. nl2br.php
También es una buena idea mirar los siguientes enlaces:
- ¿Cuál es el ¿El mejor método para desinfectar la entrada del usuario con PHP?
- La última función limpia/segura
Y lo que es más importante, es bueno estar al tanto de los 10 principales riesgos y obtener más información al respecto.