Permission d'accès à un dossier sans htaccess

Soyez le premier à donner votre avis sur cette source.

Vue 5 551 fois - Téléchargée 922 fois

Description

Lors de la conception d'un site perso, j'ai eu l'idée de créer un système permettant de filtrer les dossiers selon le statut de l'internaute afin de lui interdire l’accès ou non. Bien sur vu que c'est pas fait avec htaccess, chaque dossier à interdir devra contenir un index.php incluant le fichier de surveillance. (ou sinon mettre l'include dans votre fichier header (ex: header.inc.php) mais cela dépend de votre manière de coder ;)

Vous pouvez placer le dossier n'importe ou sur votre serveur (il faudra juste modifier l'include des fichiers index.php)

Pour ajouter des dossier à interdire (visiteur ou membre), il faut procéder comme ci dessous :

Source / Exemple :


function surveillance_navigation($repertoire)
{
   $repertoire_visiteur = array("membre" => 0, "rep_interdit" => 1);
   $repertoire_membre = array("rep_interdit" => 0); 
   if( 
       ( empty($_SESSION['membre']) && array_key_exists($repertoire, $repertoire_visiteur) ) // Visiteur
       || ( !empty($_SESSION['membre']) && array_key_exists($repertoire, $repertoire_membre) ) // Membre
   ){
       return true;
   }
   return false;
}

///////////////////////////////////

Deux arrays :

$repertoire_visiteur = array("membre" => 0, "rep_interdit" => 1);
$repertoire_membre = array("rep_interdit" => 0);

Pour ajouter un répertoire à interdire, par exemple le répertoire administration il faut modifier les arrays comme ceci :

$repertoire_visiteur = array("membre" => 0, "rep_interdit" => 1, "administration" => 2, etc...);
$repertoire_membre = array("rep_interdit" => 0, "administration" => 1, etc...);

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

Messages postés
31
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
1 novembre 2012

function surveillance_navigation($repertoire)
{ $repertoire_visiteur array("membre"> 0, "rep_interdit" => 1); $repertoire_membre array("rep_interdit"> 0);
if(
( empty($_SESSION['membre']) && array_key_exists($repertoire, $repertoire_visiteur) ) // Visiteur
|| ( !empty($_SESSION['membre']) && array_key_exists($repertoire, $repertoire_membre) ) // Membre
){
return true;
}
return false;
}

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.