elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:45  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  Problema cuando mysql_real_escape_string guarda las comillas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema cuando mysql_real_escape_string guarda las comillas  (Leído 1,139 veces)
dimitrix


Desconectado Desconectado

Mensajes: 4.059



Ver Perfil WWW
Problema cuando mysql_real_escape_string guarda las comillas
« en: 26 Enero 2012, 02:48 »

El problema es que si tengo esto:

$texto='Que bonito es este "Mundo" tan maravilloso'.

site le paso el mysql_real_escape_string();

Lo que se guarda en la base de datos es:

Que bonito es este \"Mundo\" tan maravilloso



Está claro que luego puedo quitar las barras con stripslashes, no obstante necesito guardar en la base de datos el texto tal y como está (con las comillas y sin la barra).

¿Cual es la forma "más" segura para no perder seguridad?


En línea




jdc


Desconectado Desconectado

Mensajes: 3.253


janito dos cuatro...


Ver Perfil WWW
Re: Problema cuando mysql_real_escape_string guarda las comillas
« Respuesta #1 en: 26 Enero 2012, 03:02 »

Que tan necesario es guardarlas? Podrías reemplazarla por un hash y luego reestablecerlas del mismo modo a la inversa no?


En línea

dimitrix


Desconectado Desconectado

Mensajes: 4.059



Ver Perfil WWW
Re: Problema cuando mysql_real_escape_string guarda las comillas
« Respuesta #2 en: 26 Enero 2012, 03:20 »

Que tan necesario es guardarlas? Podrías reemplazarla por un hash y luego reestablecerlas del mismo modo a la inversa no?

Sí, la razón es que habría que modificar muuucho código.


Una cosa que pensé fue esto:

Código
function limpia($texto){
$texto=mysql_real_escape_string($texto);
$texto=stripslashes($texto);
return $texto;
};

Pero en parte es tontería limpiar la variable ¿No?

¿Alguna solución?
En línea




jdc


Desconectado Desconectado

Mensajes: 3.253


janito dos cuatro...


Ver Perfil WWW
Re: Problema cuando mysql_real_escape_string guarda las comillas
« Respuesta #3 en: 26 Enero 2012, 07:48 »

Quizás sea una brutalidad pero para ahorrar tiempo podrías tratar de quitar los \ con javascript, se supone que es para maquillar nada más o no? Igual lo más óptimo es darse el trabajo y hacerlo bien poniendo y quitando
En línea

BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.830


I'Love...!¡.


Ver Perfil WWW
Re: Problema cuando mysql_real_escape_string guarda las comillas
« Respuesta #4 en: 26 Enero 2012, 08:24 »

http://dev.mysql.com/doc/refman/5.0/es/string-syntax.html

--->

Con mysql_real_escape_string(); puedes evitar SQL inyection...

Código
 
<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
   OR die(mysql_error());
 
// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
           mysql_real_escape_string($user),
           mysql_real_escape_string($password));
 
// Show Query
echo $query;
 
?>
 
 

En pocas palabras tu problema lo solucionas con sprintf();

Dulces Lunas!¡.
« Última modificación: 26 Enero 2012, 09:09 por BlackZeroX (Astaroth) » En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
dimitrix


Desconectado Desconectado

Mensajes: 4.059



Ver Perfil WWW
Re: Problema cuando mysql_real_escape_string guarda las comillas
« Respuesta #5 en: 26 Enero 2012, 12:55 »

No entiendo muy bien para que usas el StrinfF.
En línea




El As del Club Paris


Desconectado Desconectado

Mensajes: 1.816


Ver Perfil WWW
Re: Problema cuando mysql_real_escape_string guarda las comillas
« Respuesta #6 en: 26 Enero 2012, 20:38 »

No entiendo muy bien para que usas el StrinfF.

Seria lo mismo que hacer:

Código
$query = "SELECT * FROM users WHERE user='" . mysql_real_escape_string($user) . "' AND password='" . mysql_real_escape_string($password) . "'";
En línea

sudo suck --mycock -o force
WHK
吴阿卡
Ex-Staff
*
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Re: Problema cuando mysql_real_escape_string guarda las comillas
« Respuesta #7 en: 27 Enero 2012, 14:44 »

Eso que dices que te sucede es imposible, lo mas seguro es que tengas activado las magic quotes, intenta guardar una variable y no _GET para que pruebes. Las slashses las agrega para evitar inyección pero el motor sql las elimina cuando las guarda.

Intenta:
Código
<?php
mysql_connect( ... );
mysql_select_db( ... );
$texto='Que bonito es este "Mundo" tan maravilloso';
echo 'Se insertar&aacute;: <strong>'.htmlspecialchars($texto, ENT_QUOTES).'</strong>';
mysql_query('insert into `textos` (`value`) values ("'.mysql_real_escape_string($texto).'")');
 

Ahora a texto ponle $_GET['texto'] y verifica si te sale diferente.

Puedes también agregarle esto a tus scripts:
Código
<?php
ini_set('magic_quotes_gpc',     false);
ini_set('magic_quotes_runtime', false);
ini_set('allow_url_fopen',      false);
ini_set('allow_url_include',    false);
ini_set('register_globals',     false);
En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
dimitrix


Desconectado Desconectado

Mensajes: 4.059



Ver Perfil WWW
Re: Problema cuando mysql_real_escape_string guarda las comillas
« Respuesta #8 en: 27 Enero 2012, 16:11 »

Ahora me estoy cambiando a otro servidor, veré si en el nuevo me pasa y si me pasa ya veré lo que decis.

Gracias^^
En línea




peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.123


vista mi blog ^.^


Ver Perfil
Re: Problema cuando mysql_real_escape_string guarda las comillas
« Respuesta #9 en: 27 Enero 2012, 19:05 »

no puedes hacer una función en la base de datos?
En línea

dimitrix


Desconectado Desconectado

Mensajes: 4.059



Ver Perfil WWW
Re: Problema cuando mysql_real_escape_string guarda las comillas
« Respuesta #10 en: 28 Enero 2012, 21:39 »

Me sigue fallando y lo de @WHK no me funciona.

¿Existe alguna función PHP que sirva para limpiar el SQL?

¿Algo parecido a esto?
http://snipplr.com/view/376/
En línea




Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines