Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2010, 03:01
GisKaRDFX
 
Fecha de Ingreso: abril-2008
Mensajes: 4
Antigüedad: 16 años
Puntos: 2
Seguridad en general, y injeccion de codigo

Hola amigos, e echo un codigo y agradeceria que me comentarais si es seguro contra injeccion de codigo o si le añadiriais alguna cosa para protejerlo mejor o no se cualquier cosa que opineis al respecto.

Tambien agradeceria si me pudierais orientar para evitar que ese php lo pueda ejecutar cualquier persona de la siguiente manera www.dominio.com/login.php osea como puedo controlar de forma segura que el login.php solo lo pueda ejecutar la aplicacion flash.

Mi idea es que la aplicacion flash envie una variable encriptada al php y en el php desencriptar y comprobar con un if al principio del codigo si esa variable existe y es correcta si lo es pues permitir correr todo el codigo php de su interior.

No se si esto seria una buena idea puesto que la aplicacion flash se ejecuta del lado del cliente y es posible descargarla y descompilarla para averiguar la variable que se envia al php.

La opcion de denegar el acceso al fichero a todos mediante .httaccess no me sirve porque la aplicacion flash corre de lado del cliente y luego no tendria acceso para llamar al php.

Supongo que os preguntareis porque quiero evitar ejecutar el php de forma directa, en el codigo de abajo no representaria un gran peligro pero si en vez de ser un SELECT fuera un INSERT podrian insertar de forma masiva registros en blanco en la bdd por poner un ejemplo sencillo.

bueno aqui dejo el code espero que alguien me oriente un poco un saludo

Código PHP:
Ver original
  1. <?php
  2. require 'dc/dc.php';              
  3. $hostdb=$host;
  4. $userdb=$user;      
  5. $passdb=$password;      
  6. $db=$db;
  7. //_______________________________________________________________________CONEXION
  8.  
  9. $link = mysql_connect('localhost', $userdb, $passdb);
  10. //_______________________________________________________________________FUNCION EVITAR INJECCION
  11.  
  12. function esc($s){
  13.     if(get_magic_quotes_gpc()) {//si esta ON quitamos slashes
  14.        $s = stripslashes($s);
  15.       }
  16.    return sprintf("%s",mysql_real_escape_string($s));//add slashes y formato como string
  17. }
  18. //_______________________________________________________________________VARIABLES RECIBIDAS
  19.  
  20.    $user_php = esc($_POST['user_fls']);
  21.    $pass_php = md5(esc($_POST['pass_fls']));//escapar y encriptar
  22. //_______________________________________________________________________CONSULTA
  23.  
  24.   $sql = "select * from clientes where user_sql='$user_php' and pass_sql='$pass_php'";
  25.   $res = mysql_query($sql);
  26. //_______________________________________________________________________MOSTRAR RESULTADO
  27.  
  28.    if (mysql_num_rows($res)!=0){
  29.          $val = mysql_fetch_array($res);
  30.                      echo "index=".$val['id_sql']."&userConect=".$val['pcc_sql']."&msgBox=correcto"."&priv=".$val['priv_sql'] ."&stdCuenta=".$val['stdCuenta_sql'];
  31.              }else{
  32.                      echo "msgBox=Usuario o contraseña incorrecto o no esta registrado";
  33.           }
  34.  
  35. mysql_close($link);
  36.  
  37. }
  38.  
  39. ?>