elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problemas con la función mysql_real_scape_string
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problemas con la función mysql_real_scape_string  (Leído 3,726 veces)
-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Problemas con la función mysql_real_scape_string
« en: 23 Octubre 2009, 16:08 pm »

Hola, tengo un problema con la función mysql_ real_scape_string, tengo esta función:

Código
  1. function cleanQuery($value) {
  2. $value = trim(html entities($value));
  3. if (get_ magic_quotes_gpc()) {
  4. $value = strip slashes($value);
  5. }
  6. $value = mysql_real_ escape_string($value);
  7. return $value;
  8. }

El problema está con la función mysql_real_ escape_string, siempre que use esa función, voy a tener como resultado una cadena vacia, sin importar lo que le pase como parametros, incluso si hago algo como:
Código:
echo mysql_real_ escape_string("Hola")."jaja";

Sólamente imprime la cadena jaja.

He hecho:
Código:
echo function_exists("mysql_real_ escape_string");

y me devuelve 1 por lo que si existe.

La función cleanQuery, devuelve algo siempre y cuando le quite mysql_real_ escape_string,

Uso Apache Server 2.2.13, php 5.2.10 y mysql 5.0.84 sobre Slackware 13.0.

Espero que alguien puede ayudarme.

Saludos y Gracias.

EDIT: Las funciones tienen espacios porque sino el mod_security me lanza error y no me deja postear.

EDIT2: Subí la web a 000webhost y pasa lo mismo, mysql_real_escape_string limpia muy bien, por ahora estoy usando esto para prevenir SQLi:

Código
  1. function cleanQuery($value) { //Limpiar consultas SQL
  2. $value = trim(html entities($value));
  3. $value = add slashes($value);
  4. return $value;
  5. }

¿Qué tan seguro es?, puedo usar ese y obviar la otra función??? Hasta ahora me a funcionado bien esa nueva función, pero, uno nunca sabe xD.

Gracias.


« Última modificación: 23 Octubre 2009, 17:27 pm por -Ramc- » En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
HardieVon

Desconectado Desconectado

Mensajes: 181


Programming HardCore


Ver Perfil WWW
Re: Problemas con la función mysql_real_scape_string
« Respuesta #1 en: 23 Octubre 2009, 21:28 pm »

Esta chido eso, bueno ese no es un codigo valido ya que la función tiene un espacio pero X.

lo que podrias meter es una derivación para casting cuando las referencias sean hacia un campo INT, con eso tienes asegurado todo.


En línea

-Ramc-


Desconectado Desconectado

Mensajes: 495



Ver Perfil
Re: Problemas con la función mysql_real_scape_string
« Respuesta #2 en: 23 Octubre 2009, 22:55 pm »

Esta chido eso, bueno ese no es un codigo valido ya que la función tiene un espacio pero X.

lo que podrias meter es una derivación para casting cuando las referencias sean hacia un campo INT, con eso tienes asegurado todo.

Tienen espacios por lo que mencione del mod_security del foro, que piensa que es código malicioso.

Con los campos tipo entero si compruebo que sean números lo que esten ingresando y hago casting, pero, con los campos de texto estoy usando la segunda función que puse ya que con mysql_real_escape_string tengo problemas, la función que uso me está funcionando bien, pero, igualmente quiero saber si es totalmente segura y ademas, me intriga el hecho de que mysql_real_escape_string no funcione.

Saludos.
En línea


Shhh... be vewy, vewy, quiet!  I'm hunting wabbits...
LA PANDILLA MAS GRANDE DE MI CIUDAD, SE LLAMA POLICIA NACIONAL.
HardieVon

Desconectado Desconectado

Mensajes: 181


Programming HardCore


Ver Perfil WWW
Re: Problemas con la función mysql_real_scape_string
« Respuesta #3 en: 24 Octubre 2009, 05:36 am »

a si, bastante segura, solo que se te puedo filtrar un SELECT,

si te fijas

"-1 UNION SELECT 1,2,3,4,5 FORM information_schema.tables"

con tu funcion, esa inyeccion no se modifica osea que se puede clavar, puedes utilizar un filtro de palabras claves de SQL como FROM y UNION utilizando str_replace
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problemas con funcion move_uploaded_file
PHP
sReOn_1R 3 7,638 Último mensaje 9 Febrero 2011, 08:31 am
por .mokk.
Problemas con una funcion en c
Programación C/C++
Leon8086x 2 2,340 Último mensaje 18 Septiembre 2011, 18:19 pm
por Leon8086x
Problemas con la función session en php
PHP
ramon123099 6 4,062 Último mensaje 27 Agosto 2017, 18:52 pm
por ramon123099
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines