Proteger repertoire de mon site

Résolu/Fermé
mepsy - 15 févr. 2010 à 11:33
 mepsy - 15 févr. 2010 à 17:44
Bonjour,
je souhaite proteger l'accès à un repertoire de mon site en utilisant php mais sans inclure une base de données derrière. est-il possible? si oui, quelqu'un pourrait me renseigner comment m'y prendre?

je sais qu'il existe la methode .htaccess mais je souhaite le faire avec php. en fait c'est un intranet dont je souhaite sécuriser l'accès.
A voir également:

9 réponses

Bonjour,
Sans htaccess, je ne vois pas vraiment comment tu pourrais faire, tu peux seulement désactiver le listage des dossiers aux visiteurs et tu mets in "index.php" dans le répertoire ciblé, et cette page contiendrait un module de connexion... Enfin, un htaccess serait plus sécurisé à mon avis.
0
ok, merci pour cette réponse aussi rapide. en fait, je crois ne pas avoir demandé ce que je veux vraiment faire. je vais me réexpliquer pour que vous ayez ma préoccupation. ce n'est pas un répertoire que je veux proteger mais l'accès à une page. encore mes excuse pour avoir mal posé la question. c'est une page que je veux sécurisée. lorsquequelqu'un clique sur le lien menant à cette dernière qu'il est un formulaire de connexion lui demandant de s'identifier mais sans utiliser une base de données.

en plus, les personnes autorisées à acceder à la page autont un mot de passe commun et un login commun aussi.

merci encore
0
Ah ok, eh biens dans ce cas, c'est très simple, je te conseille d'aller voir ce tutoriel:

https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913196-tp-page-protegee-par-mot-de-passe

Il est très bien expliqué et facile a mettre en place.
0
ok,
merci th2, je vais jeter un coup d'oeil et je reviens vers toi dans un moment
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai lu le tuto, il est pas mal du tout. mais je souhaite que lorsqu'on clique sur valider et si le mot de passe est bon qu'une autre page s'ouvre et non celle où se trouve le formulaire.
0
La je comprends pas trop ce que tu veux dire, tu as simplement a intégrer le code en fonction de la page que tu veux protéger:
-------------------------------Debut------------------------------------------------
<?php
// J'ai choisi le mot de passe "kangourou"
if (isset($_POST['mot_de_passe'])) // Si la variable existe
{
// On se crée une variable $mot_de_passe avec le mot de passe entré
$mot_de_passe = $_POST['mot_de_passe'];
}
else // La variable n'existe pas encore
{
$mot_de_passe = ""; // On crée une variable $mot_de_passe vide
}

if ($mot_de_passe == "kangourou") // Si le mot de passe est bon
{
// On affiche la page cachée.
?>


ICI le code source de la page a protéger

<?php
}
else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Page protégée par mot de passe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p>Veuillez entrer le mot de passe:</p>
<form action="ma_page_a_proteger.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
</body>
</html>
<?php
} // Fin du else
// Fin du code :)
?>


--------------------------------FIN---------------------------------------

Enfin, si c'est pas ce que tu veux, fais moi signe :)
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
15 févr. 2010 à 16:21
C'est possible en utilisant un array associatif et les sessions.

formulaire.php
Au tout début de chaque page que tu souhaites protéger :
<?php
session_start();
if($_SESSION['connecte'] !== true) {
	header('Location: formulaire.php');
	die();
}
?>
0
bien merci beaucoup pour ces efforts que vous faites pour me faire comprendre.
je vais m'expliquer en plus clair il se pourrait que ce soit moi-même qui m'embrouille avec ma manière de poser le problème.

1) j'ai monté un site (à la main sans utiliser un cms par exemple)

2) j'ai installer joomla 1.5 dans un répertoire (c'est celui que j'ai choisi de protéger comme étant mon intranet)

3) je souhaite que tout le monde n'est pas accès à ma partie intranet (donc à la partie joomla) seules les personnes qui s'identifient par un formulaire que je souhaite placé avant que mon intranet ne s'affiche. genre!

http://www.monsite.com (partie visible par tout le monde

http://www.monsite.com/monintranet (partie visble que par les personnes qui ont le mot de passe par exemple "toto" et qui l'entre lorsqu'ils ont besoin d'acceder à cette partie du site. je sais que .htaccess gère ça, mais je veux utiliser php sans mettre une base de données derrière.

questions:

1) dois-je insérer le code de la page index de mon joomla (mon intranet à la place du code du post6 de th2?
ou dois-je mettre le code d'avion-f16?

merci en espérant avoir été plus clair
0
merci beaucoup à th2 et avion-f16. j'ai trouvé la solution en m'appuyant sur le post d'avion-f16. j'ai suivi le lien formulaire.php et j'ai fait une adaptation à mon site et ça marche. encore merci
0