Cross-site scripting: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m fix ref |
|||
Riga 22:
== Come difendersi ==
=== Escape degli input ===
Il Metodo più sicuro per un programmatore, è quello di usare uno delle tre funzioni in php che permettono l'escape dei caratteri html inserite in una stringa. Queste tre importanti funzioni sono: htmlspecialchars(), htmlspecialentities(), strip_tags. Quelle elencate sono tutte sicure, differenziano soltanto l'output, vi faccio vedere:
<br/><source lang="html4strict">
#HTMLSPECIALCHARS()
echo htmlspecialchars("<script>alert('xss')</script>", ENT_QUOTES);
# L'output sarà: <a href='test'>Test</a> dato che converte i caratteri "particolari", in codice html.
#HTMLENTITIES
echo htmlentities("I'm <b>bold</b>");
# L'Output sarà di conseguenza: I'm <b>bold</b>
$stringa="<a href="#">Verrò cancellato, lo so</a>anche io<p>ed anche io</p>";
echo strip_tags($text);
#Il particolare output di questa funzione, sarà: <a><p>
#Come potete intuire, strip_tags elimina TUTTO il contenuto, anche quello fuori dai tags html lasciando soltanto i tag d'apertura.
</source><br/>
PS=Questa non vuole essere una guida ai tre comandi, ma soltanto uno sguardo, quindi, se dovete attuare controlli sulle stringhe, vi consiglio personalmente di cercare informazioni su quelle tre funzioni
=== Aggiornare il browser ===
|