Foros del Web » Programando para Internet » PHP »

¿como pongo seguridad en mi web?

Estas en el tema de ¿como pongo seguridad en mi web? en el foro de PHP en Foros del Web. Quiero asegurarla sobre todo SQL injection.. y tal.. pero soy muy muy noob e leído cosa :S pero no entiendo nada.. Tengo consultas como Código ...
  #1 (permalink)  
Antiguo 24/12/2009, 07:14
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 15 años, 1 mes
Puntos: 22
¿como pongo seguridad en mi web?

Quiero asegurarla sobre todo SQL injection..
y tal.. pero soy muy muy noob e leído cosa :S pero no entiendo nada..
Tengo consultas como
Código PHP:
$hola=$_REQUEST["hola"];
$sql=mysql_query("Select * from usuarios U INNER JOIN razas R on U.id=R.idra where U.id='".$hola."'",$conexion) or die ("error:".mysql_error()); 
También
Código PHP:
$sql=mysql_query("select * from usuarios WHERE id='$hola'",$conexion) or die ("Error".mysql_error()); 
[/php]

Y para insertar uso
Código PHP:
$nombre=$_POST["name"];
$pass=$_POST["pass"];
mysql_query("insert into usuarios(nombre,pass)Values('$nombre','$pass')"
Gracias de antemano
  #2 (permalink)  
Antiguo 24/12/2009, 09:03
 
Fecha de Ingreso: noviembre-2007
Ubicación: Lanus, Buenos Aires
Mensajes: 178
Antigüedad: 17 años
Puntos: 14
Respuesta: ¿como pongo seguridad en mi web?

http://php.net/manual/en/function.my...ape-string.php
http://www.php.net/manual/en/securit...-injection.php

Saludos!
  #3 (permalink)  
Antiguo 24/12/2009, 10:48
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 15 años, 1 mes
Puntos: 22
Respuesta: ¿como pongo seguridad en mi web?

mm... no lo e entendido :( es que me cuesta entender xD, si hay alguna especie de guia que lo explique bien, lo agradecería.
  #4 (permalink)  
Antiguo 24/12/2009, 10:52
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: ¿como pongo seguridad en mi web?

http://php.net/manual/en/function.my...ape-string.php

http://www.webtaller.com/construccio...eccion_sql.php

Y cuanto tiempo te tomaste en leer lo que te puso rodrigo_00... si no entiende vuelve y lee...
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4
  #5 (permalink)  
Antiguo 24/12/2009, 10:52
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: ¿como pongo seguridad en mi web?

Podes usar las funciones addslashes(), trim(), mysql_real_escape_string() por ejemplo. Tambien podes validar con expresiones regulares, hay varias formas.

Fijate en php.net las funciones q te mencione

Sabes que es SQLInjection?
__________________
HV Studio
Diseño y desarrollo web
  #6 (permalink)  
Antiguo 24/12/2009, 11:19
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 15 años, 1 mes
Puntos: 22
Respuesta: ¿como pongo seguridad en mi web?

Si que me lo e leído pero enserio, no entiendo bien, por que ponen ejemplos con códigos total mente diferentes a los que yo uso y no se que es lo que hacen para proteger
y sobre si lo se, pues mas o menos creo xD, si pongo una variable post get o request
pueden modificar la consulta ¿no?
pero en vez de pasar el enlace me podéis decir
tienes que poner esto aquí para evitar no se que..
Osea yo me aclaro mas si me hablais con vuestras palabras aun que sea texto corto, mas o menos para hacerme una idea..
  #7 (permalink)  
Antiguo 24/12/2009, 11:30
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: ¿como pongo seguridad en mi web?

Ok, imaginate que vos tenes un sistema de usuarios, en donde tenes un formulario de logueo y uno de registro.

Un buen dia viene alguien muy molesto y se registra con el nick "jackson666; DROP TABLE usuarios;"

Entonces una vez registrado, va al formulario de logueo y se loguea verdad?

Bien, al hacer click se ejecuta tu script en php y haces una consulta a tu base de datos de esta forma (primero levantas el dato del campo usuario):

Código PHP:
<?php
#valor del campo usuario
$user=$_POST['user'];

#aca te conectas a tu base y demas...

#y en tu consulta

$sql="SELECT * FROM usuarios WHERE usuario='$user'";

#supongamos que aca se ejecuta tu consulta

?>
Si te fijas y reemplazas lo que hay en la variable $user la consulta te queda

Código SQL:
Ver original
  1. SELECT * FROM usuarios WHERE usuario=jackson666; DROP TABLE usuarios;

Haciendote un desastre importante...

Para evitar este tipo de cosas, por ejemplo estan las funciones que te mencione antes
__________________
HV Studio
Diseño y desarrollo web
  #8 (permalink)  
Antiguo 24/12/2009, 16:01
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 15 años, 1 mes
Puntos: 22
Respuesta: ¿como pongo seguridad en mi web?

ahh ok, ahora ya lo e entendido mucho mejor, es que vosotros lo explicais mejor que esas paginas xD.
Bueno entonces segun e entendido tengo que poner
"select * from usuarios Where '{$_POST['usuario']}'"
¿no? ¿con eso ya esta seguro?
Tengo dos dudas
1.¿como creo la conuslta?
en el ejemplo e visto
$quey="Select * from.....";mysql_query($query);
y yo creo
$sql=mysql_query("Select * from.....",$conexion) or die...
Creo que hay mas formas.. yo no se cual sera la correcta..
  #9 (permalink)  
Antiguo 25/12/2009, 21:02
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 15 años, 1 mes
Puntos: 22
Respuesta: ¿como pongo seguridad en mi web?

me podeis pasar un ejemplo de como creariais esta consulta
$sql=mysql_query("select * from usuarios where id='$_REQUEST[nombre]'",$conexion) or die
("error:".mysql_error());
  #10 (permalink)  
Antiguo 28/12/2009, 16:44
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 15 años, 1 mes
Puntos: 22
Respuesta: ¿como pongo seguridad en mi web?

plis ayuda
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 12:08.