2012-01-30 7 views

risposta

14

ci sono tre soluzioni di base:

  1. Striscia tutti i tag HTML dal palo. In PHP puoi farlo usando la funzione strip_tags().
  2. Codifica tutti i caratteri, in modo che se un utente digita <b>hello</b> viene visualizzato come <b>hello</b>. In PHP questa è la funzione htmlspecialchars(). (Nota: in questa situazione generalmente si memorizza il contenuto nel database così com'è e si utilizzano htmlspecialchars ovunque si invii il contenuto.)
  3. Utilizzare un disinfettante HTML come HTML Purifier. Ciò consente agli utenti di utilizzare determinate formattazioni HTML come grassetto/corsivo, ma blocca Javascript dannoso e qualsiasi altro tag che desideri (ad esempio <object> nel tuo caso).
+0

Grazie. Sono quei suggerimenti 'o/o', o' e'? – JDelage

+1

@JDelage Sia/che, eccetto se si usa 'strip_tags', si dovrebbe anche usare' htmlspecialchars' per codificare qualsiasi simbolo più/meno di avanzo oltre a virgolette ed e commerciali. – DisgruntledGoat

Problemi correlati