2010-11-17 5 views
2

J'ai un dossier sur mon site Web appelé "admin" ie. www.example.com/admin/, donc ce que je veux faire est quand quelqu'un va à cette adresse une boîte de connexion est affichée, une fois qu'ils ont mis dans les bonnes informations d'identification, ils sont autorisés à voir tout dans ce dossier "admin", donc Dois-je mettre un chèque en haut de chaque page ou puis-je coller le chèque sur la page index.php?connexion PHP pour le dossier de site Web

Est-ce possible?

+0

duh. quel chèque? – stillstanding

+0

une vérification pour voir si une connexion correcte a été entrée ... – benhowdle89

Répondre

0

peut également être atteint (en quelque sorte) avec .htaccess en fonction de vos besoins réels.

AuthType Basic 
AuthName "Admin Area" 
AuthUserFile /path/to/.htpasswd 
Require valid-user 

Htpasswd

admin:$apr1$7ej2t/..$qlcauURCmChKfwVhnxRLt. 

(admin/passe)

+0

Vous oubliez de mentionner que le mot de passe doit être crypté, voir: http: // stackoverflow.com/a/16014941/669677 –

2

Si vous envisagez d'utiliser des sessions en PHP, vous devez vérifier si les variables de session appropriées sont définies sur les pages visitées par l'utilisateur connecté.

Pour élaborer, vous aurez besoin d'utiliser quelque chose comme ceci:

<?php 
session_start(); 

if($_SESSION['usertype'] != 'admin') //$_SESSION['usertype'] should be set in the index page once the admin guy logs in successfully 
header("Location:http://www.example.com/admin/"); //Redirect the user to the login page if the expected session variable is not found 
?> 
1

Si vous voulez faire via PHP, vous devez inclure le code dans chaque fichier source de vérifier si la personne ne dispose de lettres de créance. Vous voulez vraiment résoudre cela avec une solution basée sur un serveur web.

Si vous utilisez Apache, vous pouvez utiliser un fichier .htaccess pour configurer l'authentification. Essayez This article pour votre premier pas dans la bonne direction. L'utilisation de l'authentification basée sur le serveur vous permet également de protéger des fichiers non PHP.

2

L'index.php est affiché lorsque quelqu'un se rend dans ce dossier. Sans cela, le contenu (tous les fichiers) serait affiché, ce qui est ce que vous voulez ici (c.-à-d. Tout)

Cependant, les autorisations peuvent être définies dans le fichier .htaccess pour exiger un accès par mot de passe à ces fichiers. De cette manière, vos fichiers n'ont pas besoin d'être protégés individuellement, juste le dossier lui-même.

+0

excellent, donc je peux tout faire dans .htaccess plutôt que dans les pages elles-mêmes? – benhowdle89

+0

Oui. Cela protégera tous les fichiers du répertoire contre l'accès, sauf si l'utilisateur a été autorisé avec un mot de passe. Et vous n'avez pas besoin d'index.php pour les gérer. – Dave

0

Votre point d'entrée principale peut être la index.php et acheminer l'utilisateur à la vue appropriée en fonction de savoir si pas une SESSION est définie.

Et comme pour bloquer les autres fichiers dans le dossier:

pour les fichiers PHP: définir une constante dans la index.php et au-dessus des autres fichiers PHP qui sont inclus vérifier si elle est « défini ». En ce qui concerne les images et autres types de fichiers, vous pouvez les stocker au-dessus de la racine et les inclure via PHP.

Questions connexes