Aide [PHP SIMPLE]

Fermé
Anonyme - 16 mai 2009 à 18:30
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 - 20 mai 2009 à 13:08
Bonjour,
j'aimerais une aide en php pour l'authentification simple...en fait j'ai un site avec neuf amis et il y a un espace connexion au début,cet espace se trouve sur la page index.php et regardez comment je l'ai construit :

<?
if(isset($_POST['pseudo'])) 
	{
		$pseudo = $_POST['pseudo']; 
	}
elseif(isset($_POST['mdp']))
	{
		$mdp = $_POST['mdp']; // Creation de la variable $mdp
	}
if  (		$pseudo == "lepseudo" AND $mdp == "lemotdepasse" OR
                $pseudo == "lepseudo" AND $mdp == "lemotdepasse" OR
                $pseudo == "lepseudo" AND $mdp == "lemotdepasse" OR
                $pseudo == "lepseudo" AND $mdp == "lemotdepasse" OR
                $pseudo == "lepseudo" AND $mdp == "lemotdepasse" OR
                $pseudo == "lepseudo" AND $mdp == "lemotdepasse" OR
                $pseudo == "lepseudo" AND $mdp == "lemotdepasse" OR
                $pseudo == "lepseudo" AND $mdp == "lemotdepasse" OR
                $pseudo == "lepseudo" AND $mdp == "lemotdepasse"
	) 
	{
?>
Affichage de la page html
<?
if($_POST['pseudo'] == "lepseudo" AND $mdp == "lemotdepasse")
{
echo "Phrase personnelle pour accueillir un ami";
}
else 
{
?>
On affiche le formulaire en html
<?
}
?>

Voila c'est tout bête mais moi je désirerais une chose primordiale,par exemple mon site s'écrit ainsi :

http://monsite.com/ (c'est là ou se trouve l'authentification)

Un visiteur peut contourner l'espace de connexion et taper,si il connait directement l'adresse d'une certaine page :

http://monsite.com/page_accueil.html

Moi je voudrais que si un visiteur ou un de mes amis tape(nt) directement http://monsite.com/page_accueil.html dans la barre d'adresse,il sera redirigé vers l'espace connexion ! Ok ? Il faut au moins une connexion dans la journée pour pouvoir taper directement dans la barre d'adresse...

Je connais pas ce système,sa doit être en rapport avec les COOKIES ?

Merci de m'aider :)
A voir également:

5 réponses

up
0
UP
0
Encore un :(
0
Personne à la hauteur ?
0

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

Posez votre question
pyschopathe Messages postés 1973 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
20 mai 2009 à 13:08
Modifie ton code comme ça :
<?php
// On démarre la session
// Ce code doit être tout en haut de la page
session_start();

$message = '';
if ( isset( $_POST['pseudo'] ) && isset( $_POST[mdp'] ) ) {
  // Plus confortable à utiliser
  $pseudo = $_POST['pseudo'];
  $mdp = $_POST['mdp'];
  // Liste des couples login/mot de passe valides
  $login_valide = array( 'pseudo1'=>'mdp1', 'pseudo2'=>'mdp2', ... );
  // On vérifie que les données d'identifications sont correctes
  if ( array_key_exist( $pseudo ) && $login_valide[$login] == $mdp ) {
    $_SESSION['logged'] = true;
    $message = '<p>Vous êtes maintenant connecté.</p>';
  } else { // Mauvais login et/ou mauvais mot de passe
    $message = '<p>Pseudo et/ou mot de passe incorrects !</p>';
  }
}
echo $message;
// Afficher le formulaire
?>
Ensuite, sur chaque page de ton site, tu rajoutes en en-tête le code suivant :
<?php
// On démarre la session
session_start();

// La page de login
$page_login = 'https://mon.site.tld/login.php';

// Si le client n'est pas connecté on le redirige vers la page de login
if ( $_SESSION[logged'] !== true ) {
  header( "Location: $page_login" );
} else { // Sinon on affiche la page
  // Contenu
}
?>
Ce code utilise les sessions pour identifer tes utilisateurs. Une fois que l'utilsiateur a fourni les bonnes informations de connexion, tu initialise la variable de session 'logged' à true. Les informations de sessions sont stockées sur le serveur donc l'utilisateur ne peut pas les modifier.
Sur chacune des pages dont tu veux limiter l'accès aux personnes connectées, tu vérifies que la variable de session 'logged' soit bien à true avant d'afficher le contenu, sinon tu rediriges vers la page de connexion.

Note que le mécanisme de session que je te présente n'est pas sécurisé du tout : il y a des risques de rejeu ou de vol de session. Cependant pour un petit site personnel qui se contente de présenter quelques infos et qui n'est pas trop mal conçu, ça ne devrait pas poser de problèmes.

N'hésite pas à demander s'il y a des choses qui ne sont pas claires.
0