Mr. Thiago,

O my God, really...
My system is then very vulnerable.

Thank you,

Leonardo Pinto.


> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Subject: MySQL n�o aceita "\" em WHERE
> Resposta: � claro que ele aceita. Voc� � que est� fazendo besteira.
>
> Leonardo Pinto wrote:
> >Estou muito decepcionado com o MySQL. Sei que existem
> >"N"s argumentos para este comportamento. Por�m n�o aceito
> >como resposta nenhum deles. O fato � que: Imaginem um
> >campo bairro onde um usu�rio digita "S�O MIGUEL\S�O RAFAEL"
> >E ap�s isto ele deseja fazer uma consulta:
> >select * from BAIRRO where CAMPO1 = "S�O MIGUEL\S�O RAFAEL"
> >Simplesmente esta situa��o n�o poder� ser realizada, pois
> >o pequeno projeto MySQL n�o suporta "\", ele achar� que
> >estamos editando um arquivo com linefeeds. heerrrgrrrrr
>
> Eu j� respondi isso para voc� uma vez. Voc� n�o entendeu ou
> fez que n�o
> entendeu.
>
> Vamos para outro exemplo: imagine que seu usu�rio tivesse digitado o
> seguinte (inclusive a aspa):
>       S�O MIGUEL"; delete from BAIRRO;
>
> A�, quando voc� vai procurar no banco de dados, voc� envia:
>       select * from BAIRRO where CAMPO1 = "S�O MIGUEL";
> delete from BAIRRO;"
>
> O que vai ocorrer? Bom, vai apagar tudo do seu banco de dados. Legal,
> n�?
>
> Por isso que eu lhe falei antes e repito:
>       NUNCA CONFIE NA INFORMA��O DO USU�RIO
>       toda informa��o do usu�rio deve ser tratada de modo a
> suprimir os
> caracteres n�o permitidos.
>
> O seu aplicativo deve fazer isso: tanto o PHP quanto a pr�pria
> libmysqlclient j� t�m fun��es que fazem esse "escape" dos caracteres.
>
> Ou seja, o seu usu�rio digita:
>       S�O MIGUEL\S�O RAFAEL
>
> e voc� manda a seguinte pesquisa para o servidor:
>       select * from BAIRRO where CAMPO1 = "S�O MIGUEL\\S�O RAFAEL";
>
> Se o seu usu�rio tivesse digitado aquilo que eu propus
> anteriormente --
> que antes teria apagado tudo -- voc� enviaria:
>       select * from BAIRRO where CAMPO1 = "S�O MIGUEL\";
> delete from BAIRRO;"
>
> Uma simples barra invertida pode ser a diferen�a entre o seu sistema
> funcionar normalmente e um usu�rio mal-intencionado apagar
> seu banco de
> dados.
>
> Agora entendeu?

---------------------------------------------------------------------------
Esta lista � patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utiliza��o da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a