2012-01-30 6 views

Respuesta

14

Hay tres soluciones básicas:

  1. Strip todas las etiquetas HTML del puesto. En PHP puede hacer esto usando la función strip_tags().
  2. Codifique todos los caracteres, de modo que si un usuario escribe <b>hello</b> aparece como <b>hello</b>. En PHP esta es la función htmlspecialchars(). (Nota: en esta situación, generalmente almacenaría el contenido en la base de datos tal como está y usará htmlspecialchars siempre que genere el contenido).
  3. Use un desinfectante HTML como HTML Purifier. Esto permite a los usuarios utilizar ciertos formatos HTML como negrita/cursiva, pero bloquea JavaScript malicioso y cualquier otra etiqueta que desee (es decir, <object> en su caso).
+0

Gracias. ¿Son esas sugerencias 'o/o', o' y'? – JDelage

+1

@JDelage O bien, o bien, excepto si usa 'strip_tags' también debe usar' htmlspecialchars' para codificar cualquier resto mayor/menor que los símbolos, así como las comillas y los símbolos y. – DisgruntledGoat

Cuestiones relacionadas