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

