Interdire accès à une page d'administration

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Interdire accès à une page d'administration

Re: Interdire accès à une page d'administration

par hakazizi » 27 juil. 2011, 21:06

htaccess et htpassword devrais t'aider

Re: Interdire accès à une page d'administration

par basketfacile » 27 juil. 2011, 21:00

Merci de vos réponses

@Yosh

J'ai essayé de faire cela :
<?php	
	
	session_start();
	
	if(empty($_SESSION["id"]==monid))
	{
	
	include("_menu.inc.php");
	
	echo'
	
	<div class="affiliates">
		<a href="#"><img src="img/articleAccueil.gif" alt="" /></a>
	</div>
	<div class="affiliates">
		<a href="#"><img src="img/articleProjet.gif" alt="" /></a>
	</div>';}
	else
	{
	echo"Vous n'avez pas le droit d'accéder à cette page";
	};
?>
Mais ça ne marche pas et ça me met comme erreur : Parse error: syntax error, unexpected T_IS_EQUAL, expecting ')' in C:\...\administration.php on line 5

Et je ne vois pas pourquoi...

EDIT: Autant pour moi j'avais fait une petite erreur !

Au lieu de :
if(empty($_SESSION["id"]==monid))
Il faut mettre :
if(!empty($_SESSION["id"])==monid)
Merci de votre aide !

Re: Interdire accès à une page d'administration

par Aureusms » 27 juil. 2011, 20:49

Bonjour,

Lors de ta validation de ton membre, tu vérifie si l'utilisateur est dans le groupe des admin ou pas. Si il l'est tu lui attribu un $_SESSION["ADMIN"] = TRUE;

Ensuite tu commence ta page admin par
<?php
if (!empty($_SESSION["ADMIN"]))
{
  //le reste de ta page
}
else
{
  //redirection via header();
}
?>

Re: Interdire accès à une page d'administration

par Yosh » 27 juil. 2011, 20:48

Merci d'avoir répondu aussi vite.

Cependant j'ai essayé de mettre en début de mon fichier administration.php : $_SESSION["id"]=monid; et cela m'amène bien a la page d'administration. Mais le problème c'est que du coup ça me connecte automatiquement en tant qu'administrateur.

Je m'explique mieux. Si un visiteur clique sur mon lien panneau d'administration il peut y accéder puisque mon code lui attribut mon id d'administrateur. Ainsi tout le monde peut accéder à mon admin.

Comment puis-je résoudre mon problème ?
Ne pas faire d'affectation dans un if
$_SESSION["id"]=monid
à corriger par
$_SESSION["id"]==monid

Re: Interdire accès à une page d'administration

par basketfacile » 27 juil. 2011, 20:00

Merci d'avoir répondu aussi vite.

Cependant j'ai essayé de mettre en début de mon fichier administration.php : $_SESSION["id"]=monid; et cela m'amène bien a la page d'administration. Mais le problème c'est que du coup ça me connecte automatiquement en tant qu'administrateur.

Je m'explique mieux. Si un visiteur clique sur mon lien panneau d'administration il peut y accéder puisque mon code lui attribut mon id d'administrateur. Ainsi tout le monde peut accéder à mon admin.

Comment puis-je résoudre mon problème ?

Re: Interdire accès à une page d'administration

par Skw33d » 27 juil. 2011, 19:17

Salut !

Un truc très simple si tu es le seul administrateur, c'est de vérifier avec le contenu tes variables de sessions.

Par exemple, imaginons qu'à la connexion tu stockes dans tes variables de session l'ID du membre et/ou le nom du membre.
On par sur le fait que tu es le membre 1 ($_SESSION['id_membre'] = 1) avec le nom admin ($_SESSION['nom_membre']);.

Au début de ta page d'administration tu pourrais vérifier que $_SESSION['id_membre'] == 1 ou que $_SESSION['nom_membre'] == admin.

Après dans un autre contexte ou tu aurai besoin de plusieurs rangs : un admin, un modo et un user par exemple, tu peux rajouter un champ en base de données. Récuperer la valeur de ce champ à la connexion du membre, la stockés en session et faire les vérifications si l'utilisateur possède le bon rang.

Voilà

Interdire accès à une page d'administration

par basketfacile » 27 juil. 2011, 19:08

Bonjour à tous,

Je suis débutant en php et je souhaiterai créer un panneau d'administration pour me permettre à moi seul la création d'articles.

J'ai déjà mis en place un système de membres qui permet de s'inscrire sur le site et de les enregistrer dans ma base de données.

Pour cela j'ai bien sûr utilisé des sessions php.

Ce que j'aimerai donc faire c'est de restreindre l'accès à ma page administration.php, il faut que moi seul en ai l'accès.

Avez-vous une idée pour résoudre mon problème ?

Merci d'avance !