Re: Como puedo eliminar ' de una cadena

From: "Jose Luis Balle" <joseluisballe(at)gmail(dot)com>
To: Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, badillo(at)cav(dot)desoft(dot)cu, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Como puedo eliminar ' de una cadena
Date: 2008-06-11 20:24:03
Message-ID: 6d87542d0806111324u115a7d56nd447e767c16433a1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Todos los ingresos del usuario que van a ser usados luego en un query deben
ser tratados contra SQL Injection ANTES de enviarlos a postgres. Ej:
En PHP:
$usuario = ReemplazarCaracteresRaros( $_POST["usuario"] );
$clave = ReemplazarCaracteresRaros( $_POST["clave"] );

$query="SELECT id FROM usuarios WHERE userName='$usuario' AND
password='$clave'";
...........

Ahora imagina que no reemplazas los caracteres y algún malintencionado envia
el valor [' or 1=1 --] sin corchetes para clave te queda un query asi:
SELECT id FROM usuarios WHERE userName='pepe' AND password='' or 1=1 --'

Que caracteres tendrías que reemplazar en la funcion?
En principio los ' por ´ o ''
los -- por - -

Pero tiene que ser ANTES de mandarlos a postgres.

El día 11 de junio de 2008 4:54, Raúl Andrés Duque Murillo <
ra_duque(at)yahoo(dot)com(dot)mx> escribió:

>
>
> --------------------------------------------------
> From: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
> Sent: Wednesday, June 11, 2008 3:47 PM
> To: <badillo(at)cav(dot)desoft(dot)cu>
> Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
> Subject: Re: [pgsql-es-ayuda] Como puedo eliminar ' de una cadena
>
> badillo(at)cav(dot)desoft(dot)cu escribió:
>>
>>> Saludos, Entendí la función y muchas gracias por el ejemplo, pero lo que
>>> ocurre es que en realidad el caracter que necesito cambiar o eliminar es
>>> el ' y ese no veo como especificarlo en la función, alvaro me comenta
>>> que
>>> debo trabajar con la cadena antes de enviarla al postgres, pero es que
>>> la
>>> cadena la estoy extrayendo del postgres y necesito reinsertarla en otra
>>> tabla, de hecho ya no quedaría igual, por que son textos en inglés y
>>> poseen varias veces el ' como caracter.
>>>
>>
>> ¿De que lenguaje de programación estamos hablando?
>>
>>
> Sería bueno que enviaras el fragmento de código para ver que es lo que
> quieres realmente porque no se entiende al 100%.
>
> Atentamente,
>
> RAUL DUQUE
> Bogotá, Colombia
>
>
>> --
>> Alvaro Herrera http://www.CommandPrompt.com/
>> The PostgreSQL Company - Command Prompt, Inc.
>> --
>> TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá
>> leerlo
>>
>> __________ Information from ESET Smart Security, version of virus
>> signature database 3177 (20080611) __________
>>
>> The message was checked by ESET Smart Security.
>>
>> http://www.eset.com
>>
>>
>> --
> TIP 4: No hagas 'kill -9' a postmaster
>

--
Informático:
Persona falta de recursos que, partiendo de premisas falsas y de
especificaciones inconsistentes e incompletas, dirigido por incompetentes y
utilizando herramientas que no funcionan es capaz de iniciar un proyecto de
dudoso éxito realizando una obra de arte que ,por supuesto, es cara y no
tiene otro fin que dar prestigio a la empresa que ha contratado sus
servicios.
http://islamanzana.es/desarrollo-de-software/definicion-de-informatico

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Terry Yapt 2008-06-11 20:32:03 Formación y certificación PostgreSQL
Previous Message Terry Yapt 2008-06-11 20:23:05 Re: Consulta teoria SQL (FK a dos tablas).