Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] mysql_real_escape_string() VS addslashes() PHP

Estas en el tema de mysql_real_escape_string() VS addslashes() PHP en el foro de PHP en Foros del Web. Ahora que estoy utilizando bases de datos me siento indeciso entre usar el simple addslashes() o el mysql_real_escape_string() con sql. Supongo que es mas compleja ...
  #1 (permalink)  
Antiguo 10/08/2013, 12:57
darkhack3r22
Invitado
 
Mensajes: n/a
Puntos:
Mensaje mysql_real_escape_string() VS addslashes() PHP

Ahora que estoy utilizando bases de datos me siento indeciso entre usar el simple addslashes() o el mysql_real_escape_string() con sql. Supongo que es mas compleja la última,¿pero cual es la más segura para evitar inyecciones? Gracias
  #2 (permalink)  
Antiguo 10/08/2013, 13:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mysql_real_escape_string() VS addslashes() PHP

La función msqyl_real_escape_string() está diseñada efectivamente para ese propósito, mientras que addslashes() es más genérica y por ende no funcionará igual.

Así que no hay porque perder el tiempo entre cual de las dos funciones es mejor porque no hay punto de comparación, de hecho sería muy torpe de tu parte usar addslashes() sabiendo que no está diseñada para eso.

Piensa un poco, si con addslashes() fuera suficiente, ¿por qué se molestarían en diseñar funciones especificas para escapar cadenas y evitar inyecciones?

Usa tu sentido común.

PDTA:

La extensión MySQL está obsoleta, lee lo siguiente: http://www.forosdelweb.com/f18/anunc...oleta-1008145/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/08/2013, 14:21
darkhack3r22
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: mysql_real_escape_string() VS addslashes() PHP

No me gusta llegar a estas situaciones. Hasta lo que tu me has dicho he sabido llegar por mi mismo. No me has aportado ninguna idea nueva y de eso se trataba. No me ha hecho ninguna gracia el último emoticón: ¿A caso te has enfadado? Y mucho menos lo de torpe... Para eso hay libertad humana para poder elegir lo que yo prefiera, y más aún cuando no hay diferencia evidente.
  #4 (permalink)  
Antiguo 10/08/2013, 16:09
Avatar de rocha7778  
Fecha de Ingreso: mayo-2013
Ubicación: Cartagena Colombia
Mensajes: 79
Antigüedad: 10 años, 11 meses
Puntos: 1
Respuesta: mysql_real_escape_string() VS addslashes() PHP

si realmente quieres entrar en el mundo de las bases de datos, y evitar ataques sql, necesitas investigar sobre stored procedured.

http://dev.mysql.com/doc/refman/5.0/...rocedures.html

http://emanuelpeg.blogspot.com/2011/...funciones.html

y esto solo por citarte dos ejemplos, ya que existen muchos.

con los procedimientos almacenados ya no es necesario estar filtrando los datos, solo hacen lo que tu programas que hagan.


Código HTML:
La extensión MySQL está obsoleta, lee lo siguiente: http://www.forosdelweb.com/f18/anunc...oleta-1008145/
tambien actualiza tu codigo dado que como te dice pateketrueke la extension que estas utilizando esta obsoleta.
  #5 (permalink)  
Antiguo 11/08/2013, 04:08
darkhack3r22
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: mysql_real_escape_string() VS addslashes() PHP

o_0 Yo estaba hablando de unas funciones, no de la física cuántica xD No se ni de que me estas hablando...
  #6 (permalink)  
Antiguo 11/08/2013, 05:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: mysql_real_escape_string() VS addslashes() PHP

Tu estás hablando de sql-injection, y para eso hay soluciones más potentes que simplemente dos funciones.
Además si estás planteando una solución para ese problema, implica que trabajarás con bases de datos, para lo cual te conviene conocer los recursos que ellas proveen, y que eventualmente deberá tener que usar.

Respecto a las funciones, depende mucho de lo que estés por hacer, pero es obvio para mi, que si estás por trabajar con MySQL, lo mejor es usar funciones de una librería que sea específica para ese DBMS. De ese modo te aseguras que haya compatibilidad en el resultado.
¿No te parece razonable?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 11/08/2013, 06:19
darkhack3r22
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: mysql_real_escape_string() VS addslashes() PHP

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Tu estás hablando de sql-injection, y para eso hay soluciones más potentes que simplemente dos funciones.
Además si estás planteando una solución para ese problema, implica que trabajarás con bases de datos, para lo cual te conviene conocer los recursos que ellas proveen, y que eventualmente deberá tener que usar.

Respecto a las funciones, depende mucho de lo que estés por hacer, pero es obvio para mi, que si estás por trabajar con MySQL, lo mejor es usar funciones de una librería que sea específica para ese DBMS. De ese modo te aseguras que haya compatibilidad en el resultado.
¿No te parece razonable?
De acuerdo, pense que podría haber una pequeña variación entre ellas, pero si es cierto que se debe utilizar la funcion que nos propone la misma categoría. De bases de datos sé lo básico por mi cuenta así que no me voy a meter en cosas que requieran estudios...(sin objecciones) Voy a hacer bastantes peticiones a mi base de datos y busco algo mas rápido que limpiar todas las variables. Si que debería configurarla como me comentaron, pero ya he dicho que solo controlo lo fundamental. Saludos.

Etiquetas: addslashes, mysql, sql
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 09:54.