Foros del Web » Programando para Internet » PHP »

Problemas de seguridad: PHP, FLASH,MySQL!

Estas en el tema de Problemas de seguridad: PHP, FLASH,MySQL! en el foro de PHP en Foros del Web. Hola a todos nuevamente!: Tengo un pequeño problemita, se los cuento a ver si alguien puede ayudarme. He realizado mediante Flash, Php, y mysql un ...
  #1 (permalink)  
Antiguo 04/04/2006, 11:27
 
Fecha de Ingreso: abril-2006
Mensajes: 7
Antigüedad: 18 años
Puntos: 0
Problemas de seguridad: PHP, FLASH,MySQL!

Hola a todos nuevamente!:
Tengo un pequeño problemita, se los cuento a ver si alguien puede ayudarme. He realizado mediante Flash, Php, y mysql un sistema de logueo para ingresar a un sector privado para cada cliente registrado. Una vez verificado en la base de datos el php le envía la variable a flash dando la validación de dicho usuario y pass segun la base de datos y además le pasa como variable el nombre de usuario. Por lo cual flash al recibir ese nombre redirige a través de un getURL a un index ubicado en una carpeta con el mismo nombre de usuario.(por eso lo paso como variable en php, para que flash sepa a qué carpeta corriespondiente al usuario redirigir). Bien, hasta ahí todo funciona de mi maravillas, ahora lo siguiente. Si yo en mi ventana de explorer le doy la ruta directa a la carpeta del usuario ej:"midominio.com/clientes/elcliente/index.html" el explorador la abre sin problemas y sin solicitar que el usuario se loguee!!! por lo cual se darán cuenta que no es muy útil hacer un sistema de logueo si luego alguien que pueda tener un acceso a la ruta simplemente escribiendola pueda destruir todo su contenido! :(
A quien pueda ayudarme le agradezco muuuucho!. Saludos!!
  #2 (permalink)  
Antiguo 04/04/2006, 11:48
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Esto lo podrias hacer a traves de sesiones puesto que en tu script podrias verificar si la variable de sesion ya fue establecida durante la validacion.
  #3 (permalink)  
Antiguo 04/04/2006, 12:30
 
Fecha de Ingreso: abril-2006
Mensajes: 7
Antigüedad: 18 años
Puntos: 0
session

Ok, probaré. Ahora, yo tengo dos php, uno que conecta a la base de datos, y otro que le pasa las variables de usuario y pass, en éste último las variables son pasadas $username =$HTTP_POST_VARS["username"]; (trae el valor de flash), lo que vos me decís sería reemplazar $username por $session_name=$....? O esos valores deberían quedar como están y yo debería agregar un script nuevo que diga por ej

session_name=$username;
session_start() o algo así??

te muestro ambos php por las dudas.

php de conexión a la base:

Código PHP:
<?php
$hostname_conn 
"xxx";
$database_conn "xxxx";
$username_conn "xxx";
$password_conn "xxx";
$conn mysql_pconnect($hostname_conn$username_conn$password_conn) or die(mysql_error());
?>
y el que pasa previamente las variables:
Código PHP:
<?php
      $action 
'login';
      
$username =$HTTP_POST_VARS["username"];
      
$password $HTTP_POST_VARS["password"];
      require_once(
'connect.php');
      
mysql_select_db($database_conn$conn);
      if (
$action == 'login'){
          
$sql mysql_query("SELECT password FROM usuarios WHERE username='".$username."'");
          if (!
$sql) {
              die(
'Could not query:' mysql_error());
          }
          
$sql2 mysql_fetch_row($sql);
          if (!
$sql2){
              
//no existe usuario
              
echo 'no existe usuario<br>';
              
?>&opcion=0&<?
          
} else{
               if (
$password !== $sql2[0]){
                  
//no coincide pass
                  
echo 'el pass no coincide<br>';
                  
?>&opcion=1&<?
               
} else{
                   
//usuario y pass correctos
                  
echo "&username=",$username;
                  
?>&opcion=2&<?
                  $_SESSION
["username"]="$username";
                  
session_start();
               }
               }

           
mysql_close($conn);
      }
?>
GRACIAS POR TU TIEMPO!!!
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 13:22.