Foros del Web » Programando para Internet » PHP »

Inyección SQL

Estas en el tema de Inyección SQL en el foro de PHP en Foros del Web. Estoy utilizando varias funciones para evitar inyección sql, entre ellas addslashes(), la cuestión es que me preocupa no filtrar palabras válidas para mysql, aunque ya ...
  #1 (permalink)  
Antiguo 24/07/2012, 11:35
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años, 7 meses
Puntos: 25
Inyección SQL

Estoy utilizando varias funciones para evitar inyección sql, entre ellas addslashes(), la cuestión es que me preocupa no filtrar palabras válidas para mysql, aunque ya controlando las comillas CREO que se evita ¿casi totalmente?.

Código PHP:

/////// Funciones > tags
function tags($tags){  
$tags strip_tags($tags);  
$tags stripslashes($tags);  
$tags htmlentities($tags);  
$tags addslashes($tags);
return 
trim($tags);  

/////// 
¿Se puede vulnerar esto?
  #2 (permalink)  
Antiguo 24/07/2012, 11:57
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: Inyección SQL

http://www.forosdelweb.com/f18/aport...ection-948577/
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #3 (permalink)  
Antiguo 24/07/2012, 12:07
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Inyección SQL

la funcion solo es para consultas no?? te has olvidado de mysql_real_escape_string o lo pasas despues??
  #4 (permalink)  
Antiguo 24/07/2012, 12:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Inyección SQL

Usa mejor PDO y PreparedStatements en lugar de estar jugando a usar muchas funciones, no hay una función genérica que prevenga SQL Inyection ya que cada tipo de columna tiene un tipo de dato diferente.

Lo mejor es usar Prepared Statements ya que esos sí te previenen de SQL Inyection.

Saludos.
  #5 (permalink)  
Antiguo 24/07/2012, 12:24
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: Inyección SQL

Cita:
Iniciado por GatorV Ver Mensaje
Usa mejor PDO y PreparedStatements en lugar de estar jugando a usar muchas funciones, no hay una función genérica que prevenga SQL Inyection ya que cada tipo de columna tiene un tipo de dato diferente.

Lo mejor es usar Prepared Statements ya que esos sí te previenen de SQL Inyection.

Saludos.
osea tu aporte también ya afelpo?
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #6 (permalink)  
Antiguo 24/07/2012, 12:27
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 19 años, 2 meses
Puntos: 84
Respuesta: Inyección SQL

una guia para pasar de mysql a PDO ???
__________________
» Presupuesto Pagina Web
  #7 (permalink)  
Antiguo 24/07/2012, 12:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Inyección SQL

No es que haya felpado, la función es específicamente para XSS, no para SQL Inyection, son dos cosas diferentes (por cierto le cambié el título).

Usar PDO es diferente a MySQL, tu mejor guía es el manual, donde puedes leer y estudiar como usar los prepared statements.

Saludos.
  #8 (permalink)  
Antiguo 24/07/2012, 12:42
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: Inyección SQL

no ma we pos no avisas y yo aqui recomendandola jajajaja , no me parece opción que lo viejo se le cambie , mejor empezar a hacer cosas nuevas con pdo
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #9 (permalink)  
Antiguo 24/07/2012, 12:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Inyección SQL

Esta bien que la recomiendes, pero su uso es diferente, es para XSS, no es para SQL Inyection.
  #10 (permalink)  
Antiguo 24/07/2012, 14:32
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: Inyección SQL

ojo en aportes se sigue viendo de esta forma

[Aporte] Funcion para evitar XSS y Sql injection

aunque ya dentro se vea de esta manera

[Aporte] Funcion para evitar XSS
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #11 (permalink)  
Antiguo 24/07/2012, 15:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Inyección SQL

Listo cambiado
  #12 (permalink)  
Antiguo 24/07/2012, 16:59
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: Inyección SQL

vientos
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #13 (permalink)  
Antiguo 24/07/2012, 17:25
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años, 7 meses
Puntos: 25
Respuesta: Inyección SQL

Tu script es genial, pero es para XSS.
  #14 (permalink)  
Antiguo 24/07/2012, 17:28
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años, 7 meses
Puntos: 25
Respuesta: Inyección SQL

Cita:
Iniciado por GatorV Ver Mensaje
Usa mejor PDO y PreparedStatements en lugar de estar jugando a usar muchas funciones, no hay una función genérica que prevenga SQL Inyection ya que cada tipo de columna tiene un tipo de dato diferente.

Lo mejor es usar Prepared Statements ya que esos sí te previenen de SQL Inyection.

Saludos.
No conocia Prepared Statements.

Estoy leyendo esto: http://itfreekzone.blogspot.com.ar/2...-prepared.html

Termino de leer y te cuento :) gracias!

Etiquetas: html, inyección, 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 18:24.