Preciso desenvolver um sistema que a pessoa possa mandar mensagens em HTML.
Até ai tudo bem, porém por segurança tenho que impedir que a pessoa possa inserir possivel código malicioso como:
<script>, <applet>, <iframe>, <frame>, etc, etc
Não só isso, impedir scripts escondidos como:
<divonMouseOver="codigomalicioso"></div>
E transformá-lo em:
<div>/div>
Alguém conhece alguma classe pronta que eu possa usar?
(repare as aspas que podem ser simples ou duplas, ou ainda inexistentes)
S
Sami_Koivu
É complicado mesmo. Caso você tiver que fazer na unha, a única dica que sei dar é: (e talvez seja óbvio para você, mas aqui vai mesmo assim) define os tags que devem ser aceitos e os atributos para cada tag que devem ser aceitos, e elimine tudo resto. Senão, a pessoa querendo atacar seu site vai sempre pensar em mais um jeito de diferente de escrever isso.
No entanto, olhando por alto a solução que você enviou parece ser mais robusta, pois esta ai de cima tive de alterar muitos Bugs que encontrei.
Já a outra solução do owasp, tive de descartar, pois em alguns casos ao limpar algum texto, a coisa simplesmente travava minha aplicação usando toda memoria RAM