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
