--- title: Cross Site Scripting localeTitle: Cross Site Scripting --- ## Cross Site Scripting Cross Site Scripting é um tipo de vulnerabilidade em um aplicativo da web causado pelo programador não sanear a entrada antes de enviar a entrada para o navegador da web (por exemplo, um comentário em um blog). É comumente usado para executar JavaScript mal-intencionado no navegador da Web para fazer ataques, como roubar cookies de sessão entre outras ações maliciosas, para obter privilégios de nível superior no aplicativo da Web. ### Exemplo de ataque de script entre sites Um blog permite que os usuários estilizem seus comentários com tags HTML, no entanto, o script que alimenta o blog não elimina as tags ` ``` ### Defendendo seu site contra ataques de script entre sites em PHP No PHP, existem duas funções principais, `htmlspecialchars()` e `strip_tags()` , embutidas para se proteger contra ataques de script entre sites. A função `htmlspecialchars($string)` impedirá que uma string HTML seja processada como HTML e a exiba como texto simples no navegador da web. **exemplo de código htmlspecialchars ()** ```PHP alert('Cross Site Scripting!');"; echo htmlspecialchars($usercomment); ``` A outra abordagem é a `strip_tags($string, $allowedtags)` que remove todas as tags HTML, exceto as tags HTML que você `strip_tags($string, $allowedtags)` lista de permissões. É importante notar que com a `strip_tags()` você tem que ter mais cuidado, esta função não impede o usuário de incluir o javascript como um link, você terá que higienizar isso por conta própria. **exemplo de código strip\_tags ()** ```php alert('Cross Site Scripting!');"; $allowedtags = "