-
Notifications
You must be signed in to change notification settings - Fork 0
/
verified_session.php
51 lines (40 loc) · 1.53 KB
/
verified_session.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
include(__DIR__."/profiles/Profile.php");
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
//Abrimos la sesión
session_start();
//Validamos si la variable de sesión de usuario existe y si el se realizó el logueo exitosamente
if(isset($_SESSION["user_data"]["id"]) && $_SESSION["login"] == true){
/*
* Verificar permisos en acceso directo mediante URL
*/
//Verificamos si es que la página actual no es el main.php
$actual_page = basename($_SERVER['PHP_SELF']);
if($actual_page == "main.php"){
return true;
}else{
//URL actual
$url_actual = $_SERVER["PHP_SELF"];
//Verificamos si la URL actual, está dentro de las URLs de las acciones que tiene permisos el perfil del usuario actual
$profile_id = $_SESSION["user_data"]["profile_id"];
$profile_object = new Profile();
$URLverified = $profile_object->verifiedURLActionPermission($profile_id,$url_actual);
if($URLverified == true){
return true;
}else{
header("Location:./denied_profile.php");
}
}
}else{
header("Location:./denied.php");
}
// Validamos si la sesión todavía no ha expirado. Podemos realizar automaticamente esto mediante php.ini
if(time() > $_SESSION["expirate"]){
session_destroy();
echo "Su sesión ha expirado vuelva a loguearse";
die;
}