Foros del Web » Programando para Internet » PHP »

Ayuda seguridad con sql inyeccion

Estas en el tema de Ayuda seguridad con sql inyeccion en el foro de PHP en Foros del Web. Bueno, queria saber lo sigueinte acerca de seguridad web, si tengo algo como lo sigueinte: <?php $_POST['nombre']; $saludo = htmlentities($_POST['nombre'];, ENT_QUOTES); mysql_query(Insert $saludo); ?> esto ...
  #1 (permalink)  
Antiguo 31/08/2009, 15:56
 
Fecha de Ingreso: enero-2009
Ubicación: Chile
Mensajes: 191
Antigüedad: 15 años, 3 meses
Puntos: 2
Ayuda seguridad con sql inyeccion

Bueno, queria saber lo sigueinte acerca de seguridad web, si tengo algo como lo sigueinte:
<?php
$_POST['nombre'];
$saludo = htmlentities($_POST['nombre'];, ENT_QUOTES);
mysql_query(Insert $saludo);
?>

esto previene un ataque de sql iyneccion ya que filtra la entrada de todo los caratceres e incluso comillas, porfavor necesito ayuda, ya que tengo esa duda, porque veo que el mysql_real_escape_string ase casi lo mismo... entonces tengo esa duda . . .
  #2 (permalink)  
Antiguo 31/08/2009, 16:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Ayuda seguridad con sql inyeccion

Es sugerible cuando vayas a ingresar datos a mysql usar mysql_real_escape_string ya que se encarga de pasar los datos como deben ser a la base de datos. Tambien htmlentities hace la funcion pero convierte todos los html en sus respectivas entidades. Por ejemplo si va a insertar la doble comilla con htmlentities la inserta de esta forma usando el ENT_QUOTES,

doble comillas -> &quote;

Mientras que mysql_real_escape_string lo inserta de esta forma

doble comillas -> \"

Eso va a depender de como tu quieras que inserte la información. Pero de las dos formas evita los ataques de sql
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 31/08/2009, 16:16
 
Fecha de Ingreso: enero-2009
Ubicación: Chile
Mensajes: 191
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda seguridad con sql inyeccion

Pero a veces las sql iynecciones se pedue ahcer con solo espaicios. . .a veces hmtlentities noe s muy segura por ejemplo enves de comilla esto:
and select 1,2,4

Por eso pregunatabga, optra coa esto es seguro??
if($usuario == $user ) { //and $password == $pass) {
setcookie("adminuse",$usuario,time()+60*60*24*365, "/");
setcookie("adminpa",$password,time()+60*60*24*365, "/");
}
  #4 (permalink)  
Antiguo 31/08/2009, 16:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ayuda seguridad con sql inyeccion

htmlentities() no sirve para evitar inyecciones SQL, aunque si evita inyecciones XSS (scripts); para evitar problemas en tu base de datos usa mysql_real_escape_string().
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 31/08/2009, 16:25
Avatar de CrazyJugglerDrummer  
Fecha de Ingreso: agosto-2009
Mensajes: 13
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda seguridad con sql inyeccion

@flager deberia usar sesiones, no cookies. Cookies pueden ser imitado facilmente; sesiones son mas seguro :D
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 03:18.