Claudio Salazar escribió: > Lo importante para prevenir XSS es la validacion de los datos,
No, no su validacion si no que la forma en la cual son mostrados en pantalla. >si bien se pueden crear > funciones con expresiones regulares para detectar patrones, No, solo preocupate de **mostrarlas** con las caracteres potencialmente dañinos. > Para prevenir XSS puedes ocupar funciones como htmlspecialchars(), > addslashes() que combinadas dan buenos resultados. que combinadas dejan la escoba ... > Por que no te funciona mysql_real_escape_string() ? > Solo sirve para "sanitizar" los datos que se ingresan en las consultas, > antes de aplicar mysql_query(). > Mas info en > http://www.php.net/manual/es/function.mysql-real-escape-string.php . huh ? mysql_real_escape_string() no es para prevenir XSS.. > > Tambien podrias ver otras aplicaciones como ModSecurity o Core Grasp que > añaden seguridad a aplicaciones web. Peligrosa tu recomendacion. -- "You don't have to burn books to destroy a culture. Just get people to stop reading them." --Ray Bradbury Cristian Rodríguez R. SUSE LINUX Products GmbH Research & Development From [EMAIL PROTECTED] Thu Sep 20 22:22:00 2007 From: [EMAIL PROTECTED] (Rodrigo Fuentealba) Date: Thu Sep 20 22:24:25 2007 Subject: Evitar sql injection y xss In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> El 20/09/07, Cristian Rodriguez <[EMAIL PROTECTED]> escribió: > Claudio Salazar escribió: > > > Lo importante para prevenir XSS es la validacion de los datos, > > No, no su validacion si no que la forma en la cual son mostrados en > pantalla. Desde el punto de vista del manejo de datos, claro que es bueno prevenir XSS a través de los datos que "ingresan" y no que "egresan" de la base de datos: nombres de personas con <>#? no existen, pero sí con ' y probablemente con . y , así que debemos validar que esos carácteres sean ingresados en los nombres de personas y nada más que ello ("ingrese un nombre válido!") > >si bien se pueden crear > > funciones con expresiones regulares para detectar patrones, > > No, solo preocupate de **mostrarlas** con las caracteres potencialmente > dañinos. Feo resultado, al fin y al cabo. > > Para prevenir XSS puedes ocupar funciones como htmlspecialchars(), > > addslashes() que combinadas dan buenos resultados. > > que combinadas dejan la escoba ... Yup... > > Por que no te funciona mysql_real_escape_string() ? > > Solo sirve para "sanitizar" los datos que se ingresan en las consultas, > > antes de aplicar mysql_query(). > > Mas info en > > http://www.php.net/manual/es/function.mysql-real-escape-string.php . > > > huh ? mysql_real_escape_string() no es para prevenir XSS.. Es para prevenir SQL Injections, e insisto, prefiero usar Propel/Creole que emulen la tarea de pasar parámetros a la base por mí en vez de usar el (BTW malísimo) driver de MySQL. (Sí, se viene algo llamado MySQL-NG o algo parecido, pero sigue siendo MySQL). > > Tambien podrias ver otras aplicaciones como ModSecurity o Core Grasp que > > añaden seguridad a aplicaciones web. > > Peligrosa tu recomendacion. Argh, mod_security es sólo un intento por tapar la ineficiencia del programador. > Cristian Rodríguez R. > SUSE LINUX Products GmbH > Research & Development uy, ella, el tarro con más duraznos... quien te viera en los antros de perdición donde andábamos juntos y ahora... :-P ahahaha, broma estimado. -- Rodrigo Fuentealba

