Foros del Web » Programando para Internet » PHP »

XSS e Inyección SQL

Estas en el tema de XSS e Inyección SQL en el foro de PHP en Foros del Web. Hola, Para estos problemas de seguridad, utilice para las inyecciones SQL los filtros FILTER_VALIDATE y luego mysql_real_escape_string() Y para obtener datos de la Base de ...
  #1 (permalink)  
Antiguo 02/03/2011, 02:51
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 5 meses
Puntos: 0
XSS e Inyección SQL

Hola,

Para estos problemas de seguridad, utilice para las inyecciones SQL los filtros FILTER_VALIDATE y luego mysql_real_escape_string()
Y para obtener datos de la Base de Datos y evitar los XSS uso htmlentities().

Y tengo el siguiente problema, mi pagina esta codificada según la iso-8859-1 y la base de datos también, está puesta con codificación latin1-spanish.
Antes de extraer los datos mediante htmlentities() los obtenía bien, pero ahora no me muestra bien los caracteres con tilde, las ñ, etc, etc.

He probado a poner htmlentities($var,ENT_QUOTES, "ISO-8859-1") pero aun así, los muestra mal.

Alguien sabría darme alguna indicación? Gracias.
  #2 (permalink)  
Antiguo 02/03/2011, 03:05
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: XSS e Inyección SQL

mm, no sé, tambien tengo la duda de esto de la codificacion, en lo personal me he estandarizado a utf-8.

No sé, si sea htmlentities(), pero porque no pruebas htmlspecialchars() ?
  #3 (permalink)  
Antiguo 02/03/2011, 03:11
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: XSS e Inyección SQL

Estuve leyendo y htmlspecialchars, es como htmlentities, pero con la traducción de menos caracteres. Nose... a ver si alguien nos puede decir.

En cuanto a la codificación con UTF-8, tendria problema con las tildes y las ñ??
  #4 (permalink)  
Antiguo 02/03/2011, 03:26
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: XSS e Inyección SQL

Tendrias problemas, si en tu base estubiecen tal cual ñ y no como ñ
En tal caso, tendrías que convertirlas primero a entidades html para que te las interpretara bien.

Igual podrias hacerlo en cada impresion.
  #5 (permalink)  
Antiguo 02/03/2011, 03:58
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: XSS e Inyección SQL

Entonces tendría que para guardar datos en la base de datos, además de validar el campo, guardarlo haciendo uso de html_entities_decode()??

Código:
$dato = mysql_real_escape_string(html_entities_decode($valor));
  #6 (permalink)  
Antiguo 30/03/2011, 08:06
 
Fecha de Ingreso: abril-2003
Ubicación: Vienna
Mensajes: 9
Antigüedad: 21 años
Puntos: 1
Respuesta: XSS e Inyección SQL

Hola,
Tengo una web en PHP y como ya veo esta vulnerable al ataque de Inyecciones SQL. Mi pregunta es, Como puedo incluir el código mysql_real_escape_string() y en donde? Yo no tengo ninguna experiencia en configuración de base de datos. Si alguien puede darme una mano se lo agradecería mucho. Aquí les dejo el URL del sitio http://axaldo.com/

Saludos,

Tradock
  #7 (permalink)  
Antiguo 30/03/2011, 09:44
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: XSS e Inyección SQL

cuando tu incluyes una variable asi:

$consulta = "select * from tabla where id=\"". $variable."\"";

Pues $variable deberias ponerlo asi:

mysql_real_escape_string($variable)

Yo tambien estoy empezando pero creo que esto es lo más básico en proteccion, frente a Inyecciones SQL.

Si estoy equivocado, que alguien me corrija.

Saludos.

Etiquetas: inyección, sql, xss
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 16:57.