Foros del Web » Programando para Internet » PHP »

Que tan seguro es ésta función para evitar sql inject?

Estas en el tema de Que tan seguro es ésta función para evitar sql inject? en el foro de PHP en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original function sql_escape ( $msg )     {         return str_replace ( array ( "'" , ...
  #1 (permalink)  
Antiguo 08/04/2009, 11:54
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Que tan seguro es ésta función para evitar sql inject?

Código php:
Ver original
  1. function sql_escape($msg)
  2.     {
  3.         return str_replace(array("'", "\0"), array("''", ''), $msg);
  4.     }
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #2 (permalink)  
Antiguo 08/04/2009, 12:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Que tan seguro es ésta función para evitar sql inject?

¿eso es para usarlo en MySQL o que motor??

http://php.net/mysql_real_escape_string
http://php.net/mysql_escape_string

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/04/2009, 12:19
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: Que tan seguro es ésta función para evitar sql inject?

Mssql .
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #4 (permalink)  
Antiguo 08/04/2009, 12:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Que tan seguro es ésta función para evitar sql inject?

mmm... ahora veo

me parece que no existe una funcion similar en MSSQL

así que si, tu funcion tal ves sirva... solo agrega un stripslashes() antes de todo...
suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 08/04/2009, 12:37
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: Que tan seguro es ésta función para evitar sql inject?

Pero el stripslashes solo quita lo de addslashes y no el escapa el '
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #6 (permalink)  
Antiguo 08/04/2009, 12:53
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Que tan seguro es ésta función para evitar sql inject?

Parece ser suficientemente segura, porque escapas comillas sencillas y eliminas el caracter nulo, solo faltaria averiguar si las comillas dobles deben escaparse tambien o no.
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 08/04/2009, 12:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Que tan seguro es ésta función para evitar sql inject?

me recuerda a SQLite, te digo por que:

Código PHP:
$a "foo bar\\'s";
$b str_replace("'""''"$a); // foo bar \''s
$c str_replace("'""''"stripslashes($a)); // foo bar''s 
supongo que ese es el resultado, ya que NO necesitas escapar cualquier carácter... solo las comillas simples...

por eso, no es necesario usar addslashes() antes, pero si es usado... por eso, usa stripslashes() para no comprometer nada


aunque, por experiencia personal... uso algo así (ambiguo):

Código PHP:
str_replace("\\'""''"addcslashes($text"'")) 
también te sugiero escapar ?();-


(espero que me haya explicado, aunque no se si este en lo correcto)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 08/04/2009, 13:01
 
Fecha de Ingreso: diciembre-2008
Mensajes: 118
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Que tan seguro es ésta función para evitar sql inject?

usa
Código PHP:
mysql_real_escape_string() 
  #9 (permalink)  
Antiguo 08/04/2009, 15:02
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Que tan seguro es ésta función para evitar sql inject?

http://stackoverflow.com/questions/5...ssql-using-php
  #10 (permalink)  
Antiguo 10/04/2009, 20:24
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: Que tan seguro es ésta función para evitar sql inject?

Cita:
Iniciado por Krist
mysql_real_escape_string()
digo MSSQL por segunda vez

Pero el problema que yo ingreso usuarios con ese carácter por que no quiero registrar Usuari\'O si no Usuari'o
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #11 (permalink)  
Antiguo 10/04/2009, 20:51
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Que tan seguro es ésta función para evitar sql inject?

Revisa el aporte que te deje ;)

Cita:
digo MSSQL por segunda vez
PD: Necesitas calmarte...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:09.