Foros del Web » Programando para Internet » PHP »

Aplicar Seguridad a Paginas !!!

Estas en el tema de Aplicar Seguridad a Paginas !!! en el foro de PHP en Foros del Web. Acabo de modificar un sistemita de usuarios que baje de una pagina, lo que necesito hacer es que cuando yo abra mi pagina inicial, inicio.php ...
  #1 (permalink)  
Antiguo 02/01/2009, 06:48
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Pregunta Aplicar Seguridad a Paginas !!!

Acabo de modificar un sistemita de usuarios que baje de una pagina, lo que necesito hacer es que cuando yo abra mi pagina inicial, inicio.php me pida el usuario y contraseña,
Y que si quiero abrir cualquier pagina sin pasar por inicio.php, tambien me pida usuario y clave, por ej, si abro asi http://localhost/listado_ejemplo.php !!!
Como sera que se hace ???

Aca dejo el sistemita para que lo vean !!!

Saludos, Ricardo !!!

form.html
Código HTML:
<html>
<form action="crea_usuarios.php" method="post"> 
Login(nick):<input name="login" type="text" /><br>
Password:<input name="pass1" type="password" /><br>
Repite Password:<input name="pass2" type="password" /><br>

<input type="submit"  name="Crear" value="Crear" />
<input type="button" value="Login" onclick = "self.location.href ='login.php'"/>
</form>
</html> 
crea_usuarios.php
Código PHP:
<? 
include ('conexion.php');

$login $_POST['login'];
$pass1 $_POST['pass1'];
$pass2 $_POST['pass2'];


/*Hacemos la consulta */

$result=mysql_query("select * from usuarios where login='$login'",$conexion);

if(
mysql_num_rows($result)){
echo 
"El usuario ya existe en la BD";echo "<br>";
echo 
'<a href="http://localhost/Users/form.html">Volver </a>';

} else {
    
mysql_free_result($result);
    
/* Ahora comprobamos que los dos pass coinciden */
    
if($pass1!=$pass2
    {
    echo 
"Los passwords deben coincidir"; echo "<br>";
    echo 
'Click <a href="http://localhost/Users/form.html">aca</a> para volver al formulario';
    }    
    else
    {
        if (empty(
$login)&&empty($pass1)&&empty($pass2)) // Si el codigo esta vacio
        
{
        echo 
"Ingrese los datos"; echo "<br>";
        echo 
'Click <a href="http://localhost/Users/form.html">aca</a> para volver al formulario';
        }
     
        else 
        {
        
$pass1=crypt($pass2"semilla");/* Encripatmos el password, con la clave "semilla" */
        
        
mysql_query("insert into usuarios (login,password) values ('$login','$pass1')"$conexion);
    
        if(
mysql_affected_rows($conexion))
        {
        echo 
"Usuario introducido correctamente";echo "<br>";
        echo 
'<a href="http://localhost/Users/form.html">Volver </a>';
        } else {
            echo 
"Error introduciendo el usuario";
            } 
        } 
    } 
        }
?>
login.php
Código PHP:
<? session_start();
if(isset(
$SESSION)){
header("location:user.php"); /* Si ha iniciado la sesion, vamos a user.php */

else 
{
?>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<form action="comprueba.php" method="post" class="miform">
<table border="1" align="center">
<tr><td colspan="2"><font color="blue"><h1>SISTEMA CONTROL USUARIOS</h1></font></td></tr>
<tr>
<td>Login:</td><td><input type="text" name="login" size="30"/></td>
</tr>
<tr>
<td>Password:</td><td><input type="password" name="pass" size="8" /><td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Entrar" /></td>
</tr>
</table>

</form>
<?php

?>
comprueba.php
Código PHP:
<? 
session_start
();
// include("config.php");
include('conexion.php');

$login $_POST['login'];
$pass $_POST['pass'];

$result=mysql_query("select * from usuarios where login='$login'",$conexion);

if(
mysql_num_rows($result)==0){
echo 
"No existe el login introducido"; echo "<br>";
echo 
'<a href="http://localhost/Users/login.php">Volver </a>';

else
    {
    
$array=mysql_fetch_array($result);
    
    if(
$array['password']==crypt($pass,"semilla") )
        {
        
$_SESSION['login']=$login;
        
header('location:user.php');
        } 
        else 
            {
            echo 
"Password incorrecto!"; echo "<br>";
            echo 
'<a href="http://localhost/Users/login.php">Volver </a>';
            }
    } 
?>
user.php
Código PHP:
<? session_start();
if(!isset(
$_SESSION)){
header("location:login.php");
} else {
echo 
"";
echo 
"<h1>PROGRAMA COSTOS</h1>";
echo 
"Bienvenido al Area de usuarios: <strong>"; echo "<br>";
echo 
"</strong> Has entrado con el nick: <strong> ";
echo 
$_SESSION["login"]; echo "<br>"; echo "<br>";
echo 
'</strong> Para cerrar la sesión, pulsa: <a href="logout.php"> Aqui</a>';
echo 
"";
}
?>
logout.php
Código PHP:
<? 
session_start
();
if(!isset(
$_SESSION))
    {
    
header("location:login.php");
    } 
    else 
    {
    
session_unset();
    
session_destroy();
    echo 
"<h1>PROGRAMA COSTOS</h1>";
    echo 
"Las variables de sesion han sido eliminadas, y la sesion se ha dado por finalizada correctamente da click"; echo "<br>";
    echo 
'<a href="login.php">Login Aca</a>';
    }
?>
__________________
Mail: [email protected]
  #2 (permalink)  
Antiguo 02/01/2009, 07:01
 
Fecha de Ingreso: abril-2007
Mensajes: 114
Antigüedad: 17 años
Puntos: 2
Respuesta: Aplicar Seguridad a Paginas !!!

Para hacer eso lo que tienes que hacer es incluir en todos los archivos una función que compruebe que se ha iniciado la sesión con el usuario y la clave correctos, y en caso de que no sea así, que muestre el formulario de login. Te recomiendo hacer un include de un archivo que haga esta comprobación y guarde en una variable un true o false dependiendo de si la sesión está correctamente iniciada. Después en cada página, compruebas que esa variable valga true antes de mostrar el contenido, y en el else haces un include al formulario de login.

Código php:
Ver original
  1. <?php
  2.  
  3. include("comprueba_login.php");
  4.  
  5. if ($loggeado==true){
  6.    //Aqui muestras el contenido de la pagina
  7.  
  8. }
  9. else{
  10.    include("form.html");
  11. }
  12. ?>

Espero haberte ayudado.

Saludos
  #3 (permalink)  
Antiguo 02/01/2009, 07:48
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Aplicar Seguridad a Paginas !!!

Hola paloto, la comprobacion la hago en el archivo comprueba.php, lo que hice es esto !!!
En el archivo inicio.php le agregue esto :

En comprueba, en la parte que chequeo si el login es correcto le asigne a una variable $loggeado=true;

Código PHP:
<?php 
include("comprueba.php");

      if (
$loggeado==true){

         
?>
//Aqui muestro  el contenido de la pagina

//y termina con 

<?php
      
}

      else{

         include(
"comprueba.php");

      }

?>
Pero no me funciona
__________________
Mail: [email protected]
  #4 (permalink)  
Antiguo 02/01/2009, 08:42
 
Fecha de Ingreso: abril-2007
Mensajes: 114
Antigüedad: 17 años
Puntos: 2
Respuesta: Aplicar Seguridad a Paginas !!!

El segundo include no tiene que apuntar al archivo comprueba.php, sino al formulario de inicio de sesión con el campo usuario y contraseña.

Saludos
  #5 (permalink)  
Antiguo 02/01/2009, 09:10
 
Fecha de Ingreso: marzo-2008
Mensajes: 207
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Aplicar Seguridad a Paginas !!!

Normal que no te funcione. Lo que estás haciendo es un include de comprueba.php dos veces, antes del if, y dentro de él. En el segundo include deberías de llamar a form.html
  #6 (permalink)  
Antiguo 02/01/2009, 10:24
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Aplicar Seguridad a Paginas !!!

Bueno algo solucione, pero tengo un problemita !!!
En el inicio de la pagina inicio.php quedo asi ...
Código PHP:
<?php
include('comprueba.php');
if (
$_SESSION['loggeado']==true){

?>
<html>
// ACA EL CODIGO DE LA PAGINA !!!
</html>

}
else
    {
    include('login.php');
    }

?>
El tema es que cuando carga inicio.php, me pide login y pass, sino es correcto, lo sigue pidiendo, pero si es correcto, me carga la pagina users.php, el tema es el siguiente:
Si donde me carga users le pongo inicio.php, y eso lo hago para el resto de las paginas, siempre me va a ir a inicio.php, yo lo que quiero es que cada pagina cargue sobre si misma...

Gracias !!!
__________________
Mail: [email protected]
  #7 (permalink)  
Antiguo 02/01/2009, 12:02
 
Fecha de Ingreso: abril-2007
Mensajes: 114
Antigüedad: 17 años
Puntos: 2
Respuesta: Aplicar Seguridad a Paginas !!!

Vamos a ver. Cada página tendría esta estructura:

Código:
<?php
include('comprueba.php');
if ($_SESSION['loggeado']==true){
?>
<html>
// ACA EL CODIGO DE LA PAGINA !!!
</html>
}
else
    {
    include('login.php');
    }

?>
Donde pones "// ACA EL CODIGO DE LA PAGINA !!!" tienes que poner el contenido de la página concreta, sea un include, sean html, o lo que sea. En cada página será diferente. No sé cual es el problema.

Un saludo
  #8 (permalink)  
Antiguo 02/01/2009, 13:42
Avatar de FabianSN  
Fecha de Ingreso: enero-2007
Ubicación: SNicolas, BsAs, Argentina
Mensajes: 96
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Aplicar Seguridad a Paginas !!!

Hace muchísimo tiempo atrás un miembro de este foro escribio unos scripts muy buenos que mucha gente (y me incluyo) sigue utilizando hasta el momento.

El script se llamaba Autentificator v2.01, y además de que me lo mande directamente su autor me encargué de guardarlo como fué hecho originalmente, realmente te va a sacar del apuro que tienes ahora y te va a hacer la vida más facil con el tema de sessiones y logines.

Si me pasas por PM un mail te puedo pasar un RAR de solo 17 Kb con todo lo necesario (PHP y manuales) para que funcione, a pesar de ser del año 2002 no tiene desperdicio y es de lo mejor que haya visto.

Si otros lo quieren tambien me lo pueden pedir y se los paso.

A proposito, el autor es Pedro Noves V. (Cluster)
__________________
Letra de Canciones

Última edición por FabianSN; 02/01/2009 a las 13:43 Razón: los dedós me metén acento en cualquier lugár
  #9 (permalink)  
Antiguo 02/01/2009, 15:19
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Aplicar Seguridad a Paginas !!!

Checa este sistema de usuarios de el "padre" del php jpmaster77 http://evolt.org/PHP-Login-System-with-Admin-Features .
El mejor que jamas haya visto en paginas publicas.
  #10 (permalink)  
Antiguo 02/01/2009, 19:08
 
Fecha de Ingreso: marzo-2008
Mensajes: 207
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Aplicar Seguridad a Paginas !!!

Cita:
Iniciado por paloto Ver Mensaje
Vamos a ver. Cada página tendría esta estructura:

Código:
<?php
include('comprueba.php');
if ($_SESSION['loggeado']==true){
?>
<html>
// ACA EL CODIGO DE LA PAGINA !!!
</html>
}
else
    {
    include('login.php');
    }

?>
Donde pones "// ACA EL CODIGO DE LA PAGINA !!!" tienes que poner el contenido de la página concreta, sea un include, sean html, o lo que sea. En cada página será diferente. No sé cual es el problema.

Un saludo
Ya somos dos los que no vemos el problema :S
  #11 (permalink)  
Antiguo 03/01/2009, 03:56
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Aplicar Seguridad a Paginas !!!

Cita:
Iniciado por Masane Ver Mensaje
Ya somos dos los que no vemos el problema :S
paloto,Masane:
Error no se ve, tendria que funcionar , pero el tema es que
cargo inicio. php y me va a login, cargo el login y pass, y comprueba controla: si es incorrecto vuelve a pedir, si es correcto se me va a la pagina user.php ( como se ve en mi 1er post, pero eso se lo saque y le puse
Código PHP:
$_SESSION['loggeado']=true
, y se queda en la pagina comprueba.php cargada en blanco , eso es lo que hace !!!



gilitos92: gracias por tu interes !!!
FabianSN: Te mande un PM, gracias !!!

Saludos a todos !!!
__________________
Mail: [email protected]
  #12 (permalink)  
Antiguo 03/01/2009, 06:20
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Aplicar Seguridad a Paginas !!!

Hola de nuevo !!!
Le di una solucion al problema al final.
Quedo asi ...

El user .php que es donde lleva la pagina despues de que comprueba que el login y pass son correctos.
Si queremos entrar por otra pagina que no es la inicio.php, pide login y pass y carga inicio.php

user.php:
Código PHP:
<? 
session_start
();
if(!isset(
$_SESSION))
{
header("location:login.php");

else 
{
include (
'inicio.php');
}

?>
y en cada pagina arriba de todo le pongo asi :
Código PHP:
<?php
session_start
();
echo 
'Bienvenido al Sistema';
if (isset(
$_SESSION['login'])) {
echo 
'<b>'.$_SESSION['login'].'</b>.';
echo 
'<p><a href="logout.php">Logout</a></p>';
?>
y al final del codigo:
Código PHP:
<?php 
}else{
          include(
"login.php");
      }

?>
Algo parecido a lo que me dijeron uds !!

Gracias y Saludos , Ricardo!!!

Edit: aca esta de donde saque el script :http://www.sectorweb.net/2008/01/17/...n-php-y-mysql/
__________________
Mail: [email protected]

Última edición por colote; 03/01/2009 a las 06:29
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 01:19.