Citar
Bueno este post lo habia puesto como respuesta... pero creo que es muy bueno... asi que lo pongo como tema...
Espero ganarme un sticky! =)
Espero ganarme un sticky! =)
1.- Todo el 'proyecto' consta de 4 archivos, index.php, check.php, logout.php y security.php. Empezare a explicar el inde.php
Index.php
Código:
<form action="check.php" method="POST">
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2" align="center"
<?php if ($_GET["error"]=="data"){?>
bgcolor=red><span style="color:#fffff"><b>Sux! Try Again! </b></span>
<?}else{?>
bgcolor=#666666 bordercolor="red"><span class="Estilo3">Enter you data </span>
<?}?></td>
</tr>
<tr>
<td align="right" >Usr:</td>
<td><input name="user" type="Text" maxlength="50"></td>
</tr>
<tr>
<td align="right">Pwd:</td>
<td><input name="pass" type="password" maxlength="50"></td>
</tr>
<tr>
<td colspan="2" align="center"><input name="Submit" type="Submit" value=" Go! "></td>
</tr>
</table>
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2" align="center"
<?php if ($_GET["error"]=="data"){?>
bgcolor=red><span style="color:#fffff"><b>Sux! Try Again! </b></span>
<?}else{?>
bgcolor=#666666 bordercolor="red"><span class="Estilo3">Enter you data </span>
<?}?></td>
</tr>
<tr>
<td align="right" >Usr:</td>
<td><input name="user" type="Text" maxlength="50"></td>
</tr>
<tr>
<td align="right">Pwd:</td>
<td><input name="pass" type="password" maxlength="50"></td>
</tr>
<tr>
<td colspan="2" align="center"><input name="Submit" type="Submit" value=" Go! "></td>
</tr>
</table>
Bueno como vemos en el code de arriba, lo unico que hice es crear dos campos (pass y user) y el boton para enviar el formulario a el check.php, tambien si ven, he llamado a unas string... que si los datos ingresados no son los correctos, nos regresa al formulario con una advertencia.
check.php
Código:
<?php
/*
Archivo: check.php
Autor: ZeRo- (ZeRo-@37.com)
Descripción: Compara los datos insertados en los campos, para asi crear una sesion configurada por cookies
*/
//checamos si los datos son correctos
if ($_POST["usuario"]=="padrino" && $_POST["pass"]=="password"){
//Si son validos... creo una sesion
//creando sesion y guardando datos
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: index2.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?error=data");
}
?>
/*
Archivo: check.php
Autor: ZeRo- (ZeRo-@37.com)
Descripción: Compara los datos insertados en los campos, para asi crear una sesion configurada por cookies
*/
//checamos si los datos son correctos
if ($_POST["usuario"]=="padrino" && $_POST["pass"]=="password"){
//Si son validos... creo una sesion
//creando sesion y guardando datos
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: index2.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: index.php?error=data");
}
?>
Como ven, en ($_POST["user"]=="padrino" && $_POST["pass"]=="password") es donde se deben poner el usuario y el password deseados.... y si los datos no son correctos nos envia a index.php con error. Recuerda no cambiar donde dice user y pass, salamente si cambias los nombres de los campos del index.php
security.php
Código:
<?php
/*
Archivo: security.php
Autor: ZeRo- (ZeRo-@37.com)
Descripción: Comprueva que exista una sesion con los datos correctos, para asi acceder a la información
*/
//Inicio la sesión
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
//si no existe, envio a la página de autentificacion
header("Location: index.php");
//ademas salgo de este script
exit();
}
?>
/*
Archivo: security.php
Autor: ZeRo- (ZeRo-@37.com)
Descripción: Comprueva que exista una sesion con los datos correctos, para asi acceder a la información
*/
//Inicio la sesión
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
//si no existe, envio a la página de autentificacion
header("Location: index.php");
//ademas salgo de este script
exit();
}
?>
Ok, si queremos proteger mas paginas... lo unico que debemos hacer es guardar el code de arriba y declarar un include hacia ese archivo en cualquier pagina que quieras proteger
Ejemplo:
Código:
<?php
include ("security.php");?>
<html>
<head>
<title>titulo</title>
</head>
bla...bla...bla...
include ("security.php");?>
<html>
<head>
<title>titulo</title>
</head>
bla...bla...bla...
logout.php
Código:
<?php
/*
Archivo: logout.php
Autor: ZeRo- (ZeRo-@37.com)
Descripción: Si existe la sesion, la destruye! = )
*/
session_start();
session_destroy();
?>
<html>
<head>
<title>Cerraste sesion</title>
</head>
<body>
<strong>has cerrado sesion! =)</strong>
</body>
</html>
/*
Archivo: logout.php
Autor: ZeRo- (ZeRo-@37.com)
Descripción: Si existe la sesion, la destruye! = )
*/
session_start();
session_destroy();
?>
<html>
<head>
<title>Cerraste sesion</title>
</head>
<body>
<strong>has cerrado sesion! =)</strong>
</body>
</html>
Bueno en este archivo lo importante es destruir la sesion creada... para asi, al tener otra visita tener que volver a loguear y asi no tener problemas de que alguien mas pudo verla...
Puff.... escribí mucho... pero espero y les sirva! =)










Autor


En línea









.


