PHP infos pour les techniciens uniquement
Posté : jeu. 22 févr. 2018 13:11
Ci-dessous une proposition pour améliorer la sécurité du php infos en plus de la clé.
Avec le code suivant il est uniquement accessible aux techniciens et admin.
( il faut être connecté pour l'afficher )
Avec le code suivant il est uniquement accessible aux techniciens et admin.
( il faut être connecté pour l'afficher )
Code : Tout sélectionner
<?php
################################################################################
# @Name : /admin/phpinfos.php
# @Description : PHP Parameters
# @Call : /admin/system.php
# @Parameters :
# @Author : Flox, JPS972
# @Create : 17/09/2009
# @Update : 22/02/2018
# @Version : 3.1.28
################################################################################
//cookies initialization
session_name(md5_file('./../connect.php'));
session_start();
//initialize variables
if(!isset($_GET['key'])) $_GET['key'] = '';
if(!isset($_SESSION['user_id'])) $_SESSION['user_id'] = '';
if(!isset($_SESSION['profile_id'])) $_SESSION['profile_id'] = '';
$profile="";
//connexion script with database parameters
require "./../connect.php";
//load parameters table
$query=$db->query("SELECT * FROM tparameters");
$rparameters=$query->fetch();
$query->closeCursor();
//if user is connected
if ($_SESSION['user_id'])
{
//load variables
$uid=$_SESSION['user_id'];
//load user table
$quser=$db->query("SELECT * FROM tusers WHERE id=$_SESSION[user_id]");
$ruser=$quser->fetch();
$quser->closeCursor();
//find profile id of connected user
$qprofile=$db->query("SELECT profile FROM tusers WHERE id LIKE $uid");
$_SESSION['profile_id']=$qprofile->fetch();
$qprofile->closeCursor();
$_SESSION['profile_id']=$_SESSION['profile_id'][0];
}
if ($rparameters['server_private_key']==$_GET['key'])
{
if ($_SESSION['user_id'])
{
//temporary variables to migrate to trights table
if ($_SESSION['profile_id']==0) {$profile="technician";}
elseif ($_SESSION['profile_id']==1) {$profile="user";}
elseif ($_SESSION['profile_id']==4) {$profile="technician";}
elseif ($_SESSION['profile_id']==3) {$profile="user";}
else {$profile="user";}
}
if ($profile=="technician") phpinfo();
}
?>