- <?
-
- /*
- *
- * --------------
- * | ACTION 1 | (partie #2)
- * --------------
- *
- *
- * Fichier : connexion.php
- *
- * C'est le fichier par lequel votre membre se connecte à l'espace qui lui est réservé.
- * S'il fournit des pseudo et mot de passe incorrect, il est automatiquement
- * redirigé vers cette page.
- *
- *
- * A mettre dans le fichier connexion.php : */ ?>
-
-
-
-
- <?
- /*
- * Attention, ne laissez pas d'espace entre le haut de la page
- * et le <?
- *
- */
-
- include("configuration.php");
-
- /*
- * On récupère la valeur des variables passées dans le formulaire,
- * tout en s'assurant que ces variables n'ont pas étés passées frauduleusement.
- *
- */
-
- $pseudo = trim($HTTP_POST_VARS[pseudo]);
- $clef = trim($HTTP_POST_VARS[clef]);
- $validation = $HTTP_POST_VARS[validation];
-
- /*
- * Validation des paramètres passés par le formulaire. On vérifie que tous les
- * champs sont remplis correctement, car l'internaute à de facheuses tendances
- * à raconter n'importe quoi... En cas d'erreur, on lui demande de la corriger.
- *
- */
-
- if($validation) {
-
- if(empty($pseudo)) {
- $erreur[pseudo] = 1;
- } elseif(strlen($pseudo) > 20) {
- $erreur[pseudo] = 2;
- unset($pseudo,$clef);
- }
-
- if(empty($clef)) {
- $erreur[clef] = 1;
- } elseif(strlen($clef) > 20 || strlen($clef) < 6) {
- $erreur[clef] = 2;
- unset($clef);
- }
-
- }
-
- /*
- * On vérifie que le pseudo correspond bien avec le mot de passe enregistré dans le fichier membres.txt
- *
- */
-
- $ok = 0;
-
- if(!$erreur) {
- $ok = vérification($pseudo,crypter($clef));
- }
-
- if(!$ok && $validation) {
- unset($clef);
- $erreur[clef] = 2;
- }
-
- /*
- * On dirige l'internaute selon qu'il doive se connecter à l'espace membre ou y accéder
- *
- */
-
- if($validation && !$erreur) {
-
- /*
- * Si le membre a entré un bon mot de passe
- *
- */
-
- // On crypte le mot de passe via la fonction crypter() disponible dans le fichier de configuration
- // afin d'empêcher sa lecture dans la barre d'adresses
-
- $clef = crypter($clef);
-
- // On envoie le membre vers la pccueil des membres
-
- header("Location:membre.php?pseudo=$pseudo&clef=$clef");
-
- } else {
-
- /*
- * Si l'internaute a entré un mauvais mot de passe ou ne s'est pas encore connecté
- * On demande à l'internaute de remplir un formulaire avec ses pseudo et mot de passe
- *
- */
-
- /*
- * Faîtes une inclusion de page avec include() plutôt que laisser ce code html.
- * C'est moins lourd et plus clair. Attention, si vous utilisez cette méthode, ne protégéz
- * pas la page utilisée.
- *
- */
-
- echo "<html>
- <head>
- <title>Section membre / Inscription</title>
- </head>
- <body>
- Accès à la zone membre :<br><br>";
-
- // On affiche les éventuelles erreurs détectées
-
- if($erreur && $validation) {
-
-
- echo "Merci de corriger les erreurs suivantes :<br>";
-
- if($erreur[pseudo]) {
- echo "- Vous n'avez pas donné de pseudo<br>";
- }
- switch($erreur[clef]) {
- case 1 : echo "- Vous n'avez pas donné de mot de passe<br>"; break;
- case 2 : echo "- Vous avez donné un mot de passe erroné<br>"; break;
- }
-
- }
-
- echo "<form action='connexion.php' method='post'>
- <input type='hidden' name='validation' value=1>
- Pseudo : <input type='text' name='pseudo' style='border : 1px solid' size=15 value='$pseudo' maxlength=20><br>
- Mot de passe : <input type='password' name='clef' style='border : 1px solid' size=15 value='$clef' maxlength=20><br><br>
-
- <input type='submit' value='Connexion'>
- </body>
- </html>
- ";
-
-
- }
-
- ?>
-
-
-
-
- <?
-
- /*
- *
- * --------------
- * | ACTION 2 | (partie #2)
- * --------------
- *
- * Fichier : membre.php
- *
- * Fichier type d'une page réservée au membre. Elle contient l'architecture d'une telle page
- * et quelques explications.
- *
- * Par défaut, cette page est la page d'accueil de l'espace membre
- *
- * A mettre dans le fichier membre.php : */ ?>
-
-
-
- <?
- /*
- * Attention, ne laissez pas d'espace entre le haut de la page
- * et le <?
- *
- * Toutes les pages de l'espace membre doivent être construites de cette manière
- * afin qu'elles soient protégées contre toute intrusion extérieure aux membres
- *
- */
-
- include("configuration.php");
-
- if(vérification($pseudo,$clef)) { // On vérifie le pseudo et le mot de passe
-
- /*
- * Si on est ici, c'est que le pseudo et le mot de passe correspondent
- *
- */
-
- cache(); // On empêche l'insertion de la page dans le cache du navigateur
-
- /*
- * On est dans l'espace membre. C'est ici que les membres peuvent accéder
- * à tout ce qu'il leur est réservé. Pour faire des liens entre les pages dans l'espace membre, faîtes :
- * <a href='page.php?pseudo=".PSEUDO."&clef=".CLEF."'>Lien</a> comme montré ci-dessous.
- *
- */
-
- // Contenu de la page de l'espace membre
-
- echo "<html>
- <head>
- <title>Espace membre</title>
- </head>
- <body>
- Votre pseudonyme est ".PSEUDO."<br><br><a href='membre.php?pseudo=".PSEUDO."&clef=".CLEF."'>Exemple de lien dans l'espace membre</a>
- </body>
- </html>";
-
- /*
- * Attention, ne faîtes pas d'inclusions de fichiers non protégés par le système ci-dessus avec include()
- * ou require() car n'importe qui pourrait alors y avoir accès.
- *
- * Si vous ne protégez pas ces fichiers avec le script PHP, vous pouvez toujours les cacher avec un fichier .htaccess
- * de la même façon qu'est caché le fichier membres.txt. Cela marche aussi bien et c'est même mieux.
- *
- */
-
- } else { // Mauvais mot de passe ou pseudo...
-
- // On redirige le visiteur sur la page de connexion puisque
- // le pseudo et le mot de passe ne correspondent pas
-
- header("Location: connexion.php");
-
- }
- ?>
<?
/*
*
* --------------
* | ACTION 1 | (partie #2)
* --------------
*
*
* Fichier : connexion.php
*
* C'est le fichier par lequel votre membre se connecte à l'espace qui lui est réservé.
* S'il fournit des pseudo et mot de passe incorrect, il est automatiquement
* redirigé vers cette page.
*
*
* A mettre dans le fichier connexion.php : */ ?>
<?
/*
* Attention, ne laissez pas d'espace entre le haut de la page
* et le <?
*
*/
include("configuration.php");
/*
* On récupère la valeur des variables passées dans le formulaire,
* tout en s'assurant que ces variables n'ont pas étés passées frauduleusement.
*
*/
$pseudo = trim($HTTP_POST_VARS[pseudo]);
$clef = trim($HTTP_POST_VARS[clef]);
$validation = $HTTP_POST_VARS[validation];
/*
* Validation des paramètres passés par le formulaire. On vérifie que tous les
* champs sont remplis correctement, car l'internaute à de facheuses tendances
* à raconter n'importe quoi... En cas d'erreur, on lui demande de la corriger.
*
*/
if($validation) {
if(empty($pseudo)) {
$erreur[pseudo] = 1;
} elseif(strlen($pseudo) > 20) {
$erreur[pseudo] = 2;
unset($pseudo,$clef);
}
if(empty($clef)) {
$erreur[clef] = 1;
} elseif(strlen($clef) > 20 || strlen($clef) < 6) {
$erreur[clef] = 2;
unset($clef);
}
}
/*
* On vérifie que le pseudo correspond bien avec le mot de passe enregistré dans le fichier membres.txt
*
*/
$ok = 0;
if(!$erreur) {
$ok = vérification($pseudo,crypter($clef));
}
if(!$ok && $validation) {
unset($clef);
$erreur[clef] = 2;
}
/*
* On dirige l'internaute selon qu'il doive se connecter à l'espace membre ou y accéder
*
*/
if($validation && !$erreur) {
/*
* Si le membre a entré un bon mot de passe
*
*/
// On crypte le mot de passe via la fonction crypter() disponible dans le fichier de configuration
// afin d'empêcher sa lecture dans la barre d'adresses
$clef = crypter($clef);
// On envoie le membre vers la pccueil des membres
header("Location:membre.php?pseudo=$pseudo&clef=$clef");
} else {
/*
* Si l'internaute a entré un mauvais mot de passe ou ne s'est pas encore connecté
* On demande à l'internaute de remplir un formulaire avec ses pseudo et mot de passe
*
*/
/*
* Faîtes une inclusion de page avec include() plutôt que laisser ce code html.
* C'est moins lourd et plus clair. Attention, si vous utilisez cette méthode, ne protégéz
* pas la page utilisée.
*
*/
echo "<html>
<head>
<title>Section membre / Inscription</title>
</head>
<body>
Accès à la zone membre :<br><br>";
// On affiche les éventuelles erreurs détectées
if($erreur && $validation) {
echo "Merci de corriger les erreurs suivantes :<br>";
if($erreur[pseudo]) {
echo "- Vous n'avez pas donné de pseudo<br>";
}
switch($erreur[clef]) {
case 1 : echo "- Vous n'avez pas donné de mot de passe<br>"; break;
case 2 : echo "- Vous avez donné un mot de passe erroné<br>"; break;
}
}
echo "<form action='connexion.php' method='post'>
<input type='hidden' name='validation' value=1>
Pseudo : <input type='text' name='pseudo' style='border : 1px solid' size=15 value='$pseudo' maxlength=20><br>
Mot de passe : <input type='password' name='clef' style='border : 1px solid' size=15 value='$clef' maxlength=20><br><br>
<input type='submit' value='Connexion'>
</body>
</html>
";
}
?>
<?
/*
*
* --------------
* | ACTION 2 | (partie #2)
* --------------
*
* Fichier : membre.php
*
* Fichier type d'une page réservée au membre. Elle contient l'architecture d'une telle page
* et quelques explications.
*
* Par défaut, cette page est la page d'accueil de l'espace membre
*
* A mettre dans le fichier membre.php : */ ?>
<?
/*
* Attention, ne laissez pas d'espace entre le haut de la page
* et le <?
*
* Toutes les pages de l'espace membre doivent être construites de cette manière
* afin qu'elles soient protégées contre toute intrusion extérieure aux membres
*
*/
include("configuration.php");
if(vérification($pseudo,$clef)) { // On vérifie le pseudo et le mot de passe
/*
* Si on est ici, c'est que le pseudo et le mot de passe correspondent
*
*/
cache(); // On empêche l'insertion de la page dans le cache du navigateur
/*
* On est dans l'espace membre. C'est ici que les membres peuvent accéder
* à tout ce qu'il leur est réservé. Pour faire des liens entre les pages dans l'espace membre, faîtes :
* <a href='page.php?pseudo=".PSEUDO."&clef=".CLEF."'>Lien</a> comme montré ci-dessous.
*
*/
// Contenu de la page de l'espace membre
echo "<html>
<head>
<title>Espace membre</title>
</head>
<body>
Votre pseudonyme est ".PSEUDO."<br><br><a href='membre.php?pseudo=".PSEUDO."&clef=".CLEF."'>Exemple de lien dans l'espace membre</a>
</body>
</html>";
/*
* Attention, ne faîtes pas d'inclusions de fichiers non protégés par le système ci-dessus avec include()
* ou require() car n'importe qui pourrait alors y avoir accès.
*
* Si vous ne protégez pas ces fichiers avec le script PHP, vous pouvez toujours les cacher avec un fichier .htaccess
* de la même façon qu'est caché le fichier membres.txt. Cela marche aussi bien et c'est même mieux.
*
*/
} else { // Mauvais mot de passe ou pseudo...
// On redirige le visiteur sur la page de connexion puisque
// le pseudo et le mot de passe ne correspondent pas
header("Location: connexion.php");
}
?>