Incam_Intranet/seguridad.php
2011-04-06 12:06:00 +00:00

89 lines
2.8 KiB
PHP

<?php
//si es necesario cambiar la config. del php.ini desde tu script
ini_set("session.use_only_cookies","1");
ini_set("session.use_trans_sid","0");
//iniciamos la sesión
session_name("loginUsuario");
include_once("Objects/Usuario.php");
include_once("Objects/ListaPedido.php");
include_once("Objects/Semaforo.php");
session_start();
//FICHERO DE IDIOMAS
define("LOCALE", "idiomas/");
define("LOCALESET", "sp/");
include LOCALE.LOCALESET."lenguaje.php";
include_once("functions_util.php");
// Definimos según el sistema operativo la barra para separar rutas
$path = dirname( __FILE__ );
$slash = "\\";
strpos( $path, $slash ) ? '' : $slash = '/';
define("SLASH",$slash );
//Evitamos ataques de sql injection
foreach($_POST as $key => $value){
if(gettype($value) != "array"){
$value = stripinput($value);
}
$_POST[$key] = $value;
}
foreach($_GET as $key => $value){
if(gettype($value) != "array"){
$value = stripinput($value);
}
$_GET[$key] = $value;
}
session_set_cookie_params(0, "/", $_SERVER["HTTP_HOST"], 0);
//cambiamos la duración a la cookie de la sesión
//antes de hacer los cálculos, compruebo que el usuario está logueado
//utilizamos el mismo script que antes
if ($_SESSION["autentificado"] != "SI") {
//si no está logueado lo envío a la página de autentificación
header("Location: index.php");
} else {
//sino, calculamos el tiempo transcurrido
$fechaGuardada = $_SESSION["ultimoAcceso"];
$duracion = $_SESSION["duracion"];
$usuario = $_SESSION["usuario"];
$idioma = $_SESSION["idioma"];
if($idioma != ""){
if (!defined("LOCALESET")) {
define("LOCALESET", "$idioma/");
}
}
$ahora = date("Y-n-j H:i:s");
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));
$tiempo_transcurrido = $tiempo_transcurrido/60;
//comparamos el tiempo transcurrido
//----------IMPORTANTE AÑADIR LA CONSTANTE AL SISTEMA---------------//
//echo "-------------------------------------------------- Transcurrido: $tiempo_transcurrido<br>";
//$restante = $duracion - $transcurrido;
//echo "-------------------------------------------------- Tiempo restante: $restante<br>";
//echo "-------------------------------------------------- Duración: $duracion<br>";
if($tiempo_transcurrido >= $duracion) {
//si pasó el tiempo
session_destroy(); // destruyo la sesión
header("Location: index.php"); //envío al usuario a la pag. de autenticación
//sino, actualizo la fecha de la sesión
}else {
$_SESSION["ultimoAcceso"] = $ahora;
}
// Semáforos
$semaforo=new Semaforo($usuario,$locale);
try{
$semaforo->regular($_SERVER['REQUEST_URI']);
}catch (Exception $e){
header("Location: ".$e->getMessage());
exit();
}
}
?>