--- title: Cross Site Scripting localeTitle: Cross Site Scripting --- ## Cross Site Scripting Cross Site Scripting es un tipo de vulnerabilidad en una aplicación web causada porque el programador no desinfecta la entrada antes de enviar la entrada al navegador web (por ejemplo, un comentario en un blog). Se usa comúnmente para ejecutar javascript malicioso en el navegador web para realizar ataques como el robo de cookies de sesión entre otras acciones maliciosas para obtener privilegios de mayor nivel en la aplicación web. ### Ejemplo de Cross Site Scripting Attack Un blog permite a los usuarios diseñar sus comentarios con etiquetas HTML, sin embargo, el script que impulsa el blog no elimina las etiquetas ` ``` ### Defendiendo su sitio web de ataques de scripts entre sitios en PHP En PHP hay dos funciones principales, `htmlspecialchars()` y `strip_tags()` , integradas para protegerse de los ataques de scripts entre sitios. La función `htmlspecialchars($string)` evitará que una cadena HTML se muestre como HTML y la mostrará como texto sin formato en el navegador web. **Ejemplo de código htmlspecialchars ()** ```PHP alert('Cross Site Scripting!');"; echo htmlspecialchars($usercomment); ``` El otro enfoque es la función `strip_tags($string, $allowedtags)` que elimina todas las etiquetas HTML, excepto las etiquetas HTML que ha incluido en la lista blanca. Es importante tener en cuenta que con la función `strip_tags()` tiene que tener más cuidado, esta función no impide que el usuario incluya javascript como enlace, tendrá que desinfectarlo por nuestra cuenta. **Ejemplo de código de strip\_tags ()** ```php alert('Cross Site Scripting!');"; $allowedtags = "