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); } ?>