WINTXCODERS

Programación => Desarrollo web => Mensaje iniciado por: Pablo Velasco en Mayo 02, 2016, 08:38:08 PM

Título: [APORTE] Prevenir ataques XSS
Publicado por: Pablo Velasco en Mayo 02, 2016, 08:38:08 PM
Bueno he desarrollado un pequeño código en php para prevenir los ataques XSS a una página web.

Para evitar confusiones del HTML en nuestra base de datos.
Código (php) [Seleccionar]

function cadena($texto) {
$cadena = str_replace("<","&lt;",$cadena);
$cadena=  str_replace(">","&gt;",$cadena);
}


Modo de uso:
Código (php) [Seleccionar]

cadena($tuvariable);


La segunda opción (más segura) es htmlentities
La función htmlentities () convierte los caracteres a entidades HTML.
Ejemplo:
Código (php) [Seleccionar]

$variable = htmlentities($_POST['usuario']);


Si tienes problemas con los caracteres UTF-8, la solución sería la siguiente:
Código (php) [Seleccionar]

$variable = htmlentities($_POST['usuario'], ENT_QUOTES, "UTF-8");


Recomendación para tus consultas a la base de datos.
os recomiendo la función que ofrece PHP mysql_real_escape_string, que tiene como función evitar algunos tipos de inyección SQL.
Ejemplo:

Código (php) [Seleccionar]

mysql_query("UPDATE notices SET comentarios = comentarios - 1 WHERE id = '".mysql_real_escape_string($id)."'");


Con eso es todo, espero haberos ayudado.