Lo que quiero es que me aconsejen para mejorar el codigo de ingreso ami sitio web como la encriptacion de contraseñas entre otros aspectos de seguridad importantes que deberia mejorar para que fuera mas seguro aqui va el codigo
Código PHP:
<?php
session_start();
require("DB.php");
//Si el resultado de la funcion es false esta incomplo el form
if(!validar($_POST))
{
header("location:index.php?mensaje=Error:Los datos se encuentran incompletos");
}
else
{
//estraigo las variables $_POST es un array asociativo
extract($_POST);
//encripto con sha1 $login y $password ->unidireccionalmente
$clave=sha1($clave);
//verifico si los datos de login y password estan registrados
$verification=mysql_query("
select login,clave from usuarios where login='$login' and clave='$clave'");
//si hubo coincidencias
if(mysql_num_rows($verification)>0)
{
//si usuario y login coinciden
require('funciones.php');
funciones_inactividad_tiempo($login);
//registro variables de session
//registro la hora de entrada (se puede usar para desloguear por inatividad)
$hora_entrada=date("H:i:s");
session_register("login","hora_entrada");
/*******VERIFICO PERMISO DE USUARIOS************/
// 1->usuarios normal
// 12->moderador
// 12345->administrador
//compruebo los permiso del usuarios legeado
$permisos=mysql_query("
select permisos from usuarios where login='$login' and clave='$clave'");
if(mysql_num_rows($permisos)>0)
{
while($row=mysql_fetch_array($permisos))
{
$permiso=$row['permisos'];
}
//despues de obtener los permisos hago lo redirecciono
if($permiso==1)
{
header("location:panel.php?seccion=usuarios");
$seccion=usuarios;
session_register("seccion");
session_register("login");
//registro una variable de session llamada seccion por si el usuarios quiere escojer
//otro tipo de permiso, despues comparo las dos seccion en module_users.php
}
elseif($permiso==12)
{
header("location:panel.php?seccion=moderadores");
$seccion=moderadores;
session_register("seccion");
session_register("login");
}
elseif($permiso==12345)
{
header("location:panel.php?seccion=admin");
$seccion=admin;
session_register("seccion");
session_register("login");
}
}
//si no se encuentrn permisos dar opcion de contacto con el administrador para corregir
else
{
echo "No se encontraron permisos";
}
/*******************/
}
//si no hubo conincidencias
else
{
//mando de nuevo el formulario
header("location:index.php?mensaje=Error:El usuario no se encuentra en la Base de datos");
}
}
//me permite validar grande cantidades de formulario en un simple ciclo foreach
function validar($array)
{
foreach ($array as $key=>$value)
{
if(!isset($key) || empty($value))
{
return false;
}
}
return true;
}
?>