Essa é umas das perguntas mais freqüentes em fórum de discussão sobre ASP e Banco de Dados,
O apóstrofo e as Aspas são caracteres ilegais na linguagem T-SQL porque é interpretado como um delimitador de série para permitir a inserção de um novo registro no Banco de Dados,
No entanto se você tem um formulário ou QueryString onde receberá um certo tipo de dados e depois ira gravar esses dados em banco de dados é necessário criar um rotina para remoção destes caracteres,
Um exemplo - se em um formulário o usuário preenche campo nome com os seguintes valores (Marco D’Alberto ou Adriano “Rosa”), você terá alguns problemas para executar a inserção deste valor,
Para isso utilize uma função Replace ou Expressão Regular para substituir esses caracteres Especiais, de modo que não afete o resultado final da coleta destes dados.
Irei demonstrar de forma básica uma função para substituir esses caracteres, mas existem outras diversas funções bem mais complexas onde é possível até se prevenir contra ataques de SQL-INJECTION não irei abordar este assunto neste artigo. Em um próximo artigo falarei como se prevenir de Injeção SQL.
<%output: INSERT tabela (campo1)VALUES(texto com (’) e ("))
texto1 = "texto com (') e ("")"
Function sEncode(str)
strChr = Replace(str,"""",""",1,-1,0)
strChr = Replace(str,"'","’",1,-1,0)
sEncode = strChr
End Function
With Response
.Write ("INSERT tabela (campo1)VALUES(" & sEncode(texto1) & ")")
End With
%>
Imprimir
Indique
Conpartilhe este link
RSS
del.icio.ous
Digg
My Yahoo
Techonorati
FaceBook
Weslei
Aguarde estamos gravando seu comentário ...



