Comunidad de diseño web y desarrollo en internet online

Seguridad en general, y injeccion de codigo

Citar            
MensajeEscrito el 06 May 2010 08:05 am
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 :

<?php
require 'dc/dc.php';              
$hostdb=$host; 
$userdb=$user;       
$passdb=$password;       
$db=$db; 
//_______________________________________________________________________CONEXION

$link = mysql_connect('localhost', $userdb, $passdb);
mysql_select_db($db);
//_______________________________________________________________________FUNCION EVITAR INJECCION

function esc($s){
   if(get_magic_quotes_gpc()) {//si esta ON quitamos slashes
       $s = stripslashes($s);
     }
   return sprintf("%s",mysql_real_escape_string($s));//add slashes y formato como string
} 
//_______________________________________________________________________VARIABLES RECIBIDAS

   $user_php = esc($_POST['user_fls']);
   $pass_php = md5(esc($_POST['pass_fls']));//escapar y encriptar
//_______________________________________________________________________CONSULTA

  $sql = "select * from clientes where user_sql='$user_php' and pass_sql='$pass_php'"; 
  $res = mysql_query($sql);
//_______________________________________________________________________MOSTRAR RESULTADO 

   if (mysql_num_rows($res)!=0){
       $val = mysql_fetch_array($res);
                    echo "index=".$val['id_sql']."&userConect=".$val['pcc_sql']."&msgBox=correcto"."&priv=".$val['priv_sql'] ."&stdCuenta=".$val['stdCuenta_sql'];
             }else{
                   echo "msgBox=Usuario o contraseña incorrecto o no esta registrado";
        }

mysql_close($link);

}

?> 

Por giskard

110 de clabLevel



Genero:Masculino  

Programador y diseñador web

msie8
Citar            
MensajeEscrito el 07 May 2010 07:04 am
Hola de nuevo a todos, viendo la oleada de respuestas recibidas voy a probar de volver a subir el tema a ver si tengo suerte, no se si debo de estar preguntando alguna chorrada, no se.
Bueno a ver si tengo suerte esta vez y alguien me hecha un cable comentandome algo respecto a la seguridad del codigo,
no soy un profesional del tema y me siento inseguro al subir mi web, e intentado documentarme todo lo que e podido sobre todo lo referente a ataques a la web pero sigo teniendo inseguridad por eso busco opiniones de expertos que me puedan comentar alguna cosilla.
un saludillo

Por giskard

110 de clabLevel



Genero:Masculino  

Programador y diseñador web

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.