2011-10-13 11 views
5

Como parte de un proyecto, estoy aceptando el texto de un usuario a través de un formulario web y mostrándolo en una página web. El texto que proporcionan puede contener URL, en caso afirmativo, me gustaría presentarlo como un hipervínculo para mejorar la experiencia. Por ejemplo, el usuario puede enviar texto que contenga http://www.google.com y quiero convertirlo a <a href="http://www.google.com">...Hipervínculos de representación segura en texto no confiable

Me pregunto qué problemas de seguridad debería tener en cuenta al hacer esto. Ya he tomado medidas para evitar cualquier inserción simple de XSS, porque mi biblioteca XML escapará a cualquier carácter especial, pero imagino que hay ataques más sofisticados.

+0

Uno de tus mayores problemas [podría ser esto.] (Http://www.youtube.com/watch?v=oHg5SJYRHA0) Editar: Dang, solo date cuenta de que no vas a ofuscar el href. Haga caso omiso de esto;) – vzwick

Respuesta

1

Además de ignorar javascript :, probablemente solo deba crear hipervínculos para el protocolo http: porque hay ciertas aplicaciones que se pueden iniciar o controlar a través de otros protocolos. Steam, Skype y AOL Messenger vienen a la mente.

+1

data: text/html; base64, PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4 = –

0

Si solo está rodeando las URL con elementos a, el único problema que debería surgir si ingresa una URL maliciosa (puede acortarse) y termina haciendo clic en ella, siempre que todos los demás medios de ataque estén seguros en su software (por ejemplo, no puede ejecutar arbitrariamente JavaScript, etc.).

Asegúrese de no tener en cuenta el pseudo protocolo javascript: cuando hace coincidir las URL. Nada bueno podría salir de eso.

Cuestiones relacionadas