Victor Hugo dos Santos escribió:

> ayer en la noche hice la siguiente prueba desde windows hacia el servidor 
> samba:
> 
> echo 123jhi7ad93qrno   > temp1.txt
> echo 98 uq3r2319r8h df  > temp2.txt
> echo 37qt8adivnskv234  > temp3.txt
> echo get0hbj o 4eafh3r   > temp4.txt
> 
> xcopy *.* \\servidor\carpeta /D
> 04 archivos copiados !!!
> 
> xcopy *.* \\servidor\carpeta /D
> 02 archivos copiados !!!
> 
> raro.. rarissimo !!! :-(

Que pasa si esperas un minuto entre ambas copias?

Lo que estoy pensando es que quizas la granularidad de las fechas no sea
muy buena.

-- 
Alvaro Herrera                         http://www.flickr.com/photos/alvherre/
"El que vive para el futuro es un iluso, y el que vive para el pasado,
un imbécil" (Luis Adler, "Los tripulantes de la noche")
From [EMAIL PROTECTED]  Tue Sep 25 09:44:17 2007
From: [EMAIL PROTECTED] (Ricardo Mun~oz A.)
Date: Tue Sep 25 09:47:27 2007
Subject: Evitar sql injection y xss
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]><[EMAIL PROTECTED]   l.gmail.com><[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

Aldrin Gonzalo Martoq Ahumada wrote:
> On 9/24/07, Alvaro Herrera <[EMAIL PROTECTED]> wrote:
>   
>> Ricardo Mun~oz A. escribió:
>>     
>>>>> $condiciones = array('nombres' => "LIKE %$nombres%", 'otro_campo' => "<>
>>>>> $valor", etc.);
>>>>> $this->set('clientes', $this->Cliente->findAll($condiciones));
>>>>> ...
>>>>>           
>>> ADOdb para PHP permite hacer lo que mencionas.
>>> que tiene de feo el codigo de CakePHP? es solo tu gusto personal o tienes
>>> algo concreto que aportar?
>>>       
>
> Lo que ví lo encontre pésimo. Me explico un poco más abajo.
>
>   
>> El codigo de arriba tiene un SQL injection, no?
>> Mi problema con el codigo de arriba es que es un ORM,
>>     
>
> El problema con el código que miré de CakePHP es que "no es ni chicha'
> ni limona'. No es un ORM, no es una API a base de datos, no es una
> framework de templates... es una mezcla de todo eso y parece que mucho
> mas.
>   

ya, y?

> No hay separación entre los parámetros y el código... para explicarme
> mejor, poner sentencias SQL como "LIKE %nombre%" entre los parámetros
> es la misma chicha que llamar a algo del estilo:
> "where nombre='" + mysql_sanitize("pepe") + "'";
>   

hmm... no entiendo tu ejemplo. podrias ser mas claro?

> Además, antes de responder fui a ver el link de CakeWalk que
> publicaste, encontré cosas del estilo (que cuentan como lo mejor del
> mundo):
>
> --- http://www.scribd.com/doc/5546/CakePHP-tutorial-no-3-from-IBM ---
> $san = new Sanitize();
> $clean = $san->paranoid($your_data, array('_','.'));
> NOTE: The paranoid method will strip out any spaces unless you pass '
> ' as an allowed character in the $allowedChars array.
> ----------------------
>
> No se si valga la pena comentar todos los problemas que acarrea este
> horrible ejemplo ... Así que prefiero separarlos por temas:
>
> 1. La transformación de datos es un tema.
> 2. La validación de datos es otro tema.
> 3. La persistencia de datos es otro tema.
>
>
>
> Si bien, no hay nada de malo en que CakePHP intenta solucionar los 3
> problemas, el error que vi en la implementación es que la
> especificación mezcla los conceptos, permitiendo el tipo de burradas
> como paranoid(). Ejemplos relativos a los temas 1, 2 y 3:
>
> 1. The Sanitize html method:
> The html method of Sanitize can pass two parameters: the string being
> Sanitized and an optional Boolean flag referred to as $remove.
>
> If $remove is set to true, the html method passes the string to the
> PHP function strip_tags, which will return the string minus any HTML
> tags. For example, strip_tags("<p>Hello</p>", true) will return the
> value Hello.
>
> If $remove is false or not set, then the html method replaces some
> characters with HTML entities.
> Specifically:
>           is replaced with &       &
>           is replaced with %       %
>           is replaced with <       <
>           is replaced with >       >
>           is replaced with "       "
>           is replaced with '       '
>           is replaced with (       (
>           is replaced with )       )
>           is replaced with +       +
>           is replaced with -       -
> The html method uses preg_replace to perform these replacements
>
> Mi Comentario: Para que "sanitizar" la salida a HTML? Debes usar un
> framework de templates o algo similar, no estar declarando qué
> convertir y qué no...
>   

el codigo del ejemplo va dentro de un Controlador. la Vista podria ser 
HTML u otra cosa.

> 2. The Sanitize cleanArray method
> [..]
> While it would have been easy enough to state "cleanArray walks an
> array and cleans each value," it is important to understand what is
> being done behind the scenes to **_protect your data_**.
>
> Mi Comentario: Recalco "protect your data". Proteger la data es tema
> del negocio, no de una API o Framework. Lo que tu framework debe
> asegurarte es que recibes lo que esperas sea desde un formulario web,
> desde la red, desde un mensaje MQ o un webservice, etc... La
> validación de negocio la haces tu; ejemplos: identificar sesiones y
> operaciones válidas, poder realizar un giro siempre que tengas
> fondos... *eso es proteger la data*.
>   

no capte. segun tu, donde se deberian validar los datos de entrada?

> 3. The Sanitize sql method
> The sql method escapes some special characters in a string with
> backslashes in order to prepare the string for use in a SQL statement.
> Comentario: Igual que en el caso HTML, no tiene sentido proveer de una
> API para escapar caracteres para la base de datos... al menos, no
> publicarla externamente.
>
>
> Y bueno, ahí me dió lata seguir leyendo...
>   

bien por ti.

-- 
Ricardo Mun~oz A.
Usuario Linux #182825 (counter.li.org)
From [EMAIL PROTECTED]  Tue Sep 25 09:41:07 2007
From: [EMAIL PROTECTED] (Victor Hugo dos Santos)
Date: Tue Sep 25 09:50:06 2007
Subject: samba + xcopy en windows y opcion /D (incremental)
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

El 25/09/07, Alvaro Herrera <[EMAIL PROTECTED]> escribió:
> Victor Hugo dos Santos escribió:
>
> > ayer en la noche hice la siguiente prueba desde windows hacia el servidor 
> > samba:
> >
> > echo 123jhi7ad93qrno   > temp1.txt
> > echo 98 uq3r2319r8h df  > temp2.txt
> > echo 37qt8adivnskv234  > temp3.txt
> > echo get0hbj o 4eafh3r   > temp4.txt
> >
> > xcopy *.* \\servidor\carpeta /D
> > 04 archivos copiados !!!
> >
> > xcopy *.* \\servidor\carpeta /D
> > 02 archivos copiados !!!
> >
> > raro.. rarissimo !!! :-(
>
> Que pasa si esperas un minuto entre ambas copias?
>
> Lo que estoy pensando es que quizas la granularidad de las fechas no sea
> muy buena.

lo mismo !!! :-(

esto es el contenido de la carpeta en windows que intento copiar para
el servidor samba:

********************************************
C:\Documents and Settings\vhsantos\temp>dir
 El volumen de la unidad C no tiene etiqueta.
 El número de serie del volumen es: 38DF-85C3

  Directorio de C:\Documents and Settings\vhsantos\temp
21-09-2007  08:50    <DIR>          .
21-09-2007  08:50    <DIR>          ..
20-09-2007  18:08                 0 hola
20-09-2007  18:09                16 temp1.txt
20-09-2007  18:09                22 temp2.txt
20-09-2007  18:09                31 temp3.txt
21-09-2007  08:50                33 temp4.txt
21-09-2007  08:50                35 temp5.txt
21-09-2007  08:50                35 temp6.txt
               7 archivos            172 bytes
               2 dirs   4.246.491.136 bytes libres

********************************************
aca hago la copia (ojo.. ya tenia copiado en el otro dia todos los
archivos al servidor samba)

C:\Documents and Settings\vhsantos\temp>xcopy *.* \\chinook\vhsantos /D /Y
C:temp1.txt
C:temp3.txt
C:temp4.txt
C:temp5.txt
4 archivos copiados

********************************************
espero un par de minutos y el mismo !!! :-(

C:\Documents and Settings\vhsantos\temp>xcopy *.* \\chinook\vhsantos /D /Y
C:temp1.txt
C:temp3.txt
C:temp4.txt
C:temp5.txt
4 archivos copiados

********************************************

los únicos archivos que no se copian son:

hola, temp2.txt y temp6.txt, pero no veo relación para que funcione
con algunos y con los otros no !!! :-(

pienso (igual que usted) que es algo relativo al horario/timestamp en
el servidor samba, pero no veo aun una solución.

salu2

-- 
-- 
Victor Hugo dos Santos
Linux Counter #224399

Responder a