Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/07/2013, 04:41
cromero2416
 
Fecha de Ingreso: abril-2012
Mensajes: 28
Antigüedad: 12 años
Puntos: 0
Problema con sesiones

Buenas tardes,

Estoy realizando una pagina web con bbdd mysql donde en tengo los siguienets ficheros:

3 ficheros de marcos. dos top , el central.

index.html donde ajusto los frames.

conex.php --> Archivo donde estan los datos de la bbdd

menu.php --> 4 fichero del marco donde esta un menu que genero a mi deseo con datos de una bbdd.

enviar.php --> desde menu.php envio a enviar.php , segun que escojamos del menu saldran dichos datos.

search.php --> Tengo un buscador

login.php --> Formulario para acceso

ingreso.php --> El que hace todas las comprobaciones para acceder

ingreso2.php --> Y el ingreso2 segun si ha ido bien o no unas comprobaciones del ingreso.php muestra una pagina o otra.

Despues de haber peusto esto en situacion . Mi pregunta es como hago para que si yo entro en index.html diga que no estoy autorizado y me redirija al login.php ya que estoy tratando con sesiones pero no hay manera.

Os voy a pegar el codigo de los tres ultimos ficheros porque creo que es donde no estoy poniendo bien las cosas .

Tampoco se si en el resto de paginas que tengo he de poner algo.

login.php
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login to access the secret files!</title>
<link rel="stylesheet" type="text/css" href="css/default.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</head>

<? session_start(); ?>


<body>
<div id="login">
    <form method="post" action="ingreso.php">
    	<h2>Login <small>enter your credentials</small></h2>
        <p>
        	<label for="name">Username: </label>
            <input type="text" name="usuario" />
        </p>
        
        <p>
        	<label for="pwd">Password: </label>
            <input type="password" name="clave" />
        </p>
        
        <p>
        	<input type="submit" id="submit" value="Login" name="submit" />
        </p>
    </form>
</div>
</body>
</html> 
ingreso.php
Código PHP:

<? 
session_start
(); 

include(
'conex.php');

$_SESSION["user"]=$_POST['usuario']; 
$_SESSION["pass"]=$_POST['clave']; 
$_SESSION["falla"]=0?> 
<meta http-equiv="refresh" content="3; url=ingreso2.php" />

<html>

<head></head>
<body>
<? $username=$_POST['usuario']; $password=$_POST['clave']; 



    if(empty(
$username)) { 
        echo 
"No ha ingresado un nombre de usuario. <br> 
        Sera redirigido de vuelta."

        
$_SESSION["falla"]=1
    }


    else { 

        if(empty(
$password)) { 
            echo 
"No ha ingresado una clave. <br> 
            Sera redirigido de vuelta."

            
$_SESSION["falla"]=1
        }


        else { 


                    
$passwordenc md5 $password );

    
$querypass mysql_query("SELECT accesskeepass FROM passaccess WHERE accesskeepass = '$passwordenc'") or die(mysql_error());
        
$querypass1 mysql_fetch_array($querypass);


$queryuser mysql_query("SELECT user FROM user WHERE user = '$username'") or die(mysql_error());
        
$queryuser1 mysql_fetch_array($queryuser);


            if(
$queryuser1['user'] != $username){
                
$error=mysql_error(); 
                print 
$error$_SESSION["falla"]=1
                exit(); 
            } 


            if(
mysql_affected_rows()==0) { 
                echo 
"El usuario no fue encontrado. <br> 
                Sera redirigido de vuelta."

                
$_SESSION["falla"]=1
                exit(); 
            } 

                else { 



                        
$nombre=$queryuser1['user']; 



                    if(
$username==$queryuser1['user']) { 
                        if(
$passwordenc==$querypass1['accesskeepass']) { 
                            echo 
"<b>Bienvenido $nombre</b>. <br> 
                                Espere mientras es redirigido"

                                
$_SESSION["nombre"]=$nombre
                        } else { 
                                echo 
"Hay un error en la clave. <br> 
                                      Espere mientras es redirigido"

                                      
$_SESSION["falla"]=1
                            } 
                            } else { 
                                    echo 
"Hay un error en el nombre de usuario. <br> 
                                            Espere mientras es redirigido"

                                        
$_SESSION["falla"]=1
                    } 


                        } 
            } 
        }         
?>



</body>



</html>
ingreso2.php

Código PHP:



    <? session_start();

    
/* 
    Iniciamos sesión dentro de esta página también mediante 
    la función session_start(); 
    */
    
if($_SESSION["falla"]==0) { 
    
$_SESSION["autorizacion"]="si";

    
header("Location: index.html");
    }

   
    else { 
    unset(
$_SESSION["falla"]); 
    
session_destroy(); 
    
header("Location: login.php"); 
    } 
    
?>
Este codigo lo encontre navegando y lo he adaptado a mis necesidades y la funcion del login lo hace perfecto lo qeu no se como conseguir el control de seguirdad.

Gracias por sus respuestas.