Dilema do Codeigniter xss_clean
Eu sei que essa pergunta foi feita repetidas vezes, mas eu ainda não encontrei a resposta perfeita para o meu gosto, então aqui vai de novo ...
Eu tenho lido muitos e muitos comentários polarizados sobre o xss_filter do CI. Basicamente, a maioria diz que é ruim. Alguém pode elaborar como é ruim, ou pelo menos dar 1 cenário mais provável onde pode ser explorado? Eu olhei para a classe de segurança no CI 2.1 e eu acho que é muito bom, pois não permite que strings maliciosas como document.cookie, document.write, etc.
Se o site tiver basicamente uma apresentação não html, é seguro usar xss_filter global (ou se realmente afeta muito o desempenho, use-o por post de formulário) antes de inserir no banco de dados? Eu tenho lido sobre prós e contras sobre se escapar na entrada / saída com a maioria diz que devemos escapar apenas na saída. Mas, novamente, por que permitir seqüências como<a href="javascript:stealCookie()">Click Me</a>
para ser salvo no banco de dados em tudo?
A única coisa que eu não gosto éjavascript:
e tal será convertido para[removed]
. Posso estender o núcleo de segurança do IC?$_never_allowed_str
matrizes para que as cordas nunca permitidas retornem vazio em vez de[removed]
.
O melhor exemplo de erro razoável disso eu li é se um usuário tem senha dejavascript:123
será limpo em[removed]123
o que significa string como estedocument.write123
também passará como senha do usuário. Então, novamente, quais são as chances de que isso aconteça e mesmo que isso aconteça, não consigo pensar em qualquer dano real que pode fazer para o site.
obrigado