-----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?

- -- 
  Thiago Macieira  -  Registered Linux user #65028
   thiago (AT) macieira (DOT) info
    ICQ UIN: 1967141   PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFA9uXdM/XwBW70U1gRAjdmAKCgYGvFCZRPu3UPeKBRBcC0EJ7FCgCggorv
pYDQHlcsUJx1l0wVASmykDk=
=S4Hc
-----END PGP SIGNATURE-----
---------------------------------------------------------------------------
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