quinta-feira, 12 de julho de 2001

O uso prático de Server.HTMLEncode

Server.HTMLEncode é uma função que serve para codificar uma string em HTML. Ah tá, tudo bem. E pra que raios serve isso? Bem aqui vai um exemplo prático:


Suponha que você tenha um site que permita o usuário cadastrar-se à vontade. Então, um engraçadinho resolve cadastrar o nome dele da seguinte maneira:


<font color="red" style="font-size: 30pt">Adriano Nântua</font>


Pronto. De agora em diante, toda vez que o nome dele for escrito no site estará vermelho e bem grande, diferente das outras pessoas (isso se o palhaço não resolver botar tamanho 800 e esculhambar de vez o seu site).


Para evitar isso, na hora de escrever o nome, ao invés de fazer o usual:


<%=nome%>


faça o funcional:


<%=Server.HtmlEncode(nome)%>


Desta maneira, nome do espertinho, será escrito da mesma maneira que ele informou, pois a função codifica a string em HTML, escrevendo &lt;  ao invés de  <.


Obviamente, a função não serve somente para se proteger de usuários humoristas. Em geral serve para que os caracteres cadastrados sejam escritos fielmente.
Imagine que você vá jogar a string O filme "A Rocha" ganhou 20 prêmios no value de um input de texto. Só vai dar O Filme, pois o browser vai ler o " como fim do value, e o resto da string vai ficar fazendo sujeira na Tag. Um desmantelo.
Basta usar, então, o Server.HTMLEncode para consertar as coisas.



Esta matéria foi postada originalmente no ASP4Developers por Adriano Nântua, que na época era "Engenheiro de software e analista de sistemas; Desenvolvedor ASP, Delphi, C/C++ e Java/JSP/Servlets; InterBase fan; Linux fan; Alvirrubro inveterado.". Hoje, vai saber...

0 comentários: