- Home
- Categorie
- Coding e Sistemistica
- PHP
- Risolvere problmema Cross Site Scripting
-
Risolvere problmema Cross Site Scripting
Ciao Ragazzi,
volevo tentare di evitare un possibile problema di
Cross Site Scripting , ovvero una vulnerabilità che affligge siti web con scarso controllo di variabili derivate da input dell'utente (spesso variabili GET)Avevo pensato ad una soluzione del genere:
<script>
function RemoveBad(strTemp) {
strTemp = strTemp.replace(/<|>|"|'|%|;|(|)|&|+|-/g,"");
return ;
}var pluto = '<?php print($_GET['test']) ?>';
var ciao = RemoveBad(pluto);
</script>Sostanzialmente una funzione RemoveBad depura la stringa da eventuali caratteri come > ' predenti nella variabile test passata in test.
Il mio problema attuale è che se l'url inserita è la seguente :
//localhost/cross.php?test=<script>alert('ciao')</script>
la pagina viene eseguita fino a var pluto = '<?php print($_GET['test'])
poichè incontra il tag </script>esce fuori dal blocco <script>
e scrive il rimanente blocco:';
var ciao = RemoveBad(pluto);
</script>all'interno dell'HTML
Qualcuno riesce ad aiutarmi?
Grazie
-
Penso che un controllo javascript sia piuttosto inutile... forse meglio che fai la protezione lato server e quindi da php...
-
usa la funzione htmlspecialchars