Page 1 sur 1

PHP infos pour les techniciens uniquement

Posté : jeu. 22 févr. 2018 13:11
par JPS972
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 )

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();
}
?>

Re: PHP infos pour les techniciens uniquement

Posté : jeu. 22 févr. 2018 15:40
par Flox
bonjour,

de mon côté le code ne semble pas fonctionner car les variable de session ne sont pas disponible dans cette nouvelle page:

Re: PHP infos pour les techniciens uniquement

Posté : ven. 23 févr. 2018 12:32
par Flox
Après il est possible d'ajouter un système de token pr cette page