Bonjour,
j'aimerai savoir comment réelement protéger ma ou mes page web par un login.
Car je viens de me mettre au PHP mais j'ai de la peine a protéger mes page.
Ce que je voudrai c que lorsqu'une personne essai de se connecter via un login qui demande un speudo et un mot de passe qu'il doit confirmer.
j'ai tester plusieur manière entre autre le $_POST mais tout ce que j'arrive a obtenir c une page que même en insérant un mauvais mot de passe elle permet de rentrer dans le site.
au cas ou voici mon code:
<?php
// J'ai choisi le mot de passe "kangourou"
if (isset($_POST['password_1'])) // Si la variable existe
{
// On se crée une variable $mot_de_passe avec le mot de passe entré
$mot_de_passe_1 = $_POST['password_1'];
}
else // La variable n'existe pas encore
{
$mot_de_passe_1 = ""; // On crée une variable $mot_de_passe vide
}
if ($mot_de_passe_1 and $mot_de_passe_2 == "kangourou") // Si le mot de passe est bon
{
// On affiche la page cachée.
?>
<!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" >
<head>
<title>Football Generation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="design_web" href="design_web.css" />
</head>
<body>
<div id="en_tete">
<!-- Ici on mettra la bannière -->
<div id="menu">
<!-- Ici on mettra le menu à gauche-->
<div id="logueur">
</div>
<!-- Pseudo et mot de pass-->
<div class="Home"> <!-- Cadre correspondant à un sous-menu -->
<h3><a href="Home.html#Home">Home</a></h3> <!-- Titre du sous-menu -->
</div>
<div class="News"> <!-- Cadre correspondant à un sous-menu -->
<h3>News</h3> <!-- Titre du sous-menu -->
<ul>
<li>Actualité</li> <!-- Liste des liens du sous-menu -->
<li>Histoire 2 foot</li>
<li>Détente</li>
</ul>
</div>
<div class="Championnat">
<h3>Championnats</h3> <!-- Titre du sous-menu -->
<ul>
<li><a href="Championnat_des_U15.html#Championnat des U15">U15</a></li> <!-- Liste des liens du sous-menu -->
<li><a href="Championnat_des_U16.html#Championnat des U16">U16</a></li>
<li><a href="Championnat_des_U17_et_18.html#Championnat des U17 et U18">U17 et U18</a></li>
</ul>
</div>
<div class="info_fg">
<a href="Info_sur_Football_Generation.html#Info sur Football Generation">Info Football Génération</a>
</div>
<div class="Top_5">
<h3>Top 5</h3>
<ul>
<li><a href="Classement_top_joeurs.html#Classement top joeurs">Top joeurs</a></li> <!-- Liste des liens du sous-menu -->
<li><a href="Classement_top_équipes.html#Classement top équipes">Top équipes</a></li>
<li><a href="Classement_top_coachs.html#Classement top coachs">Top coachs</a></li>
</ul>
</div>
<div class="Concours">
<h3>Concours</h3>
<ul class="rien">
<li><a href="Inscrivez_vous_à_nos_concours.html#Inscrivez-vous à nos concours">Inscrivez-vous à nos concours</a>
</div>
<div class="Liens">
<h3>Liens</h3>
<ul class="rien">
<li><a href="Nos_liens.html#Nos liens">Nos liens</a></li>
</div>
<div class="Contact">
<h3>Contact</h3>
<ul class="rien">
<li><a href="Nous_contacter.html#Nous contacter">Nous contacter?</a>
</div>
</div>
<div id="menu_droit">
<div class="pub_1">
<a href="Classement_top_joeurs.html#pub_1"></a>
</div>
<div class="pub_2">
<a href="Classement_top_joeurs.html#pub_2"></a>
</div>
</div>
<div id="corps">
<!-- Ici on mettra le contenu principal de la page (tout le texte quoi) -->
<h1>Bienvenue</h1>
<p>
Bienvenue sur Football Generation!<br />
<br/>
Footabll Generation est un site consacré aux championnats suisse des jeunes footballeurs évoluant au niveau de l'élite.
Donc, ce site aura comme principaux sujets, le championnat des moins de 15 ans (U15), le championnat de moins de 16 ans (U16)
ainsi que le championnat des moins de 18 ans (U18).<br/>
Il nous arrivera de discuter ou de suivre certaines actualtitées des autres
championnats juniors qui n'évoluraient pas en élite tout comme certains articles
que nous publierons au sujet des moins de 21 ans (U21) et leurs ligues respectives.
</p>
<h2>A qui s'adresse ce site ?</h2>
<p>
A tout le monde ! Si je commence à privilégier certaines personnes, on va nous accuser de discrimination .lol!)<br />
Que vous soyez joueur, coach, masseur, arbitre ou juste fan de football suisse et spécialement chez les juniors élites, ce site est fait pour vous ! Si si !
</p>
</div>
<div id="partenariat">
<h3>Nos partenaires<h3><br/>
<a href="http://www.cinemotion.ch"><img src="images/Cinemotion_logo.jpg" style="vertical-align:left" alt="logo de Cinemotion"/></a> <!--LOGO -->
</div>
<div id="pied_de_page">
<!-- Enfin, on mettra en bas de la page le nom de l'auteur, un copyright... -->
<p>Copyright Football Generation's Corporation, all rights reserved</p>
</div>
<!-- Rappel : c'est ici que l'on écrit le contenu de notre page web -->
</body>
</html>
<?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" >
<head>
<title>Football Generation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Error_page" href="Error_page.css" />
</head>
<body>
<div id="en_tete">
<div id="corps">
<!-- Ici on mettra le contenu principal de la page (tout le texte quoi) -->
<h1>Erreur login</h1>
<span class="erreur_login_precision">
Vous avez entrer un mauvais password ou login.
Réessayez à nouveau.</span><br/>
<br/>
<div class="speudo">
<form method="post" action="Home.php">
<fieldset>
<legend>Inscription</legend>
<label for="nom"><acronym title="Nom d'utilisateur">Login</acronym></label><center><input type="text" name="speudo" id="nom" tabindex="10" /></center><br/>
<label for="password"><acronym title="Mot de passe"Entrez un>password</acronym></label><center><input type="password" name="password_1" id="password" tabindex="20" /></center><br/>
<label for="password">Confirmer password</label><center><input type="password" name="password_2" id="password" tabindex="30"/></center><br/>
<div class="submit">
<p>
<input type="submit" value="valider"/> <input type="reset" /><br/>
<span class="oublie"><a href="oubli_password.php#oublie">J'ai oublié mon password</a></span>
</p>
</div>
</fieldset>
</form>
</div>
<br/>
Footabll Generation est un site réservée uniquement à ses membres.<br/>
Tout autre personne voulant s'y connecter au site, est prié avant tout, de s'enrengistrer<br/>
<br/>
<span class="mise_en_evidence_pour_enrengistrement">Si vous n'êtes pas encore enrengistrer cliquez <a href="formulaire_d_inscription.php#Inscription">ici</a></span>
<br/>
</p>
</div>
<div id="pied_de_page">
<!-- Enfin, on mettra en bas de la page le nom de l'auteur, un copyright... -->
<p>Copyright Football Generation's Corporation, all rights reserved</p>
</div>
</body>
</html>
<?php
} // Fin du else
// Fin du code :)
?>


qu'entend le programmeur du code pour le liens ( http://www.elghafoud.net/... ) ,par "* Enfin, si le formulaire de connexion est validé, j'affiche la page suivante en "mode connecté". Autrement, pas d'accès aux autres pages."
merci
- soit la personne met le bon passe et le bon login, donc elle accède aux pages
- soit c'est le retour au formulaire avec un affichage d'erreur
echo '<p style="color:#FF0000; font-weight:bold;">Erreur de connexion.</p>';
j'espère que c'est ça que tu voulais comprendre.
courage
mais en essayant le code donné tel quel j'ai un ecran tout blanc qui apparai???
je ne pense pas que soit normal alors du proviens l erreur?
le code n'est pas complet
ou c'est mon server qui ne vas pas au mieux de sa forme.
Configuration Serveur
Version de Apache:
2.2.8
Version de PHP:
5.2.5
Version de MySQL:
5.0.51a
je l'active par l'intermédiaire de Localhost
sinon juste comme ca est-ce que t'as jeté un coup d'oeil a mon code
error_reporting(E_ALL|E_STRICT);
et envoie l'erreur générer, ça peut nous aider ...
mais bon. ca sent le découragement.... au cas ou ce que j'ai essayé:
<?php
error_reporting(E_ALL|E_STRICT);
session_start();
if (isset($_POST['submit']))
{
// bouton submit pressé, je traite le formulaire
$login = (isset($_POST['login'])) ? $_POST['login'] : '';
$pass = (isset($_POST['pass'])) ? $_POST['pass'] : '';
//par default j'utilise abdel toto55, mais on peut utiliser une base de donnees ...
if (($login == "abdel") && ($pass == "toto55")) {
$_SESSION['login'] = "abdel";
$_SESSION['password'] = "toto55";
}
else {
// une erreur de saisie ...?
echo '<p style="color:#FF0000; font-weight:bold;">Erreur de connexion.</p>';
}
} // fin if (isset($_POST['submit']))
elseif (!isset($_SESSION['login'])) {
$_SESSION['login'] = '';
$_SESSION['password'] = '';
}
$access = false;
if (isset($_SESSION['login']) && isset($_SESSION['password'])) {
$access = true;
}
//affichage d'un formulaire
if (!$access) {
// Bouton submit non pressé j'affiche le formulaire
echo '<form id="conn" method="post" action="">'."\n";
echo ' <p><label for="login">Login :</label><input type="text" id="login" name="login" /></p>'."\n";
echo ' <p><label for="pass">Mot de Passe :</label><input type="password" id="pass" name="pass" /></p>'."\n";
echo ' <p><input type="submit" id="submit" name="submit" value="Connexion" /></p>'."\n";
echo '</form>'."\n";
} // fin if (!isset($_POST['submit'])))
//sinon access aux pages ...
?>
et
error_reporting(E_ALL|E_STRICT);
<?php
session_start();
if (isset($_POST['submit']))
{
// bouton submit pressé, je traite le formulaire
$login = (isset($_POST['login'])) ? $_POST['login'] : '';
$pass = (isset($_POST['pass'])) ? $_POST['pass'] : '';
//par default j'utilise abdel toto55, mais on peut utiliser une base de donnees ...
if (($login == "abdel") && ($pass == "toto55")) {
$_SESSION['login'] = "abdel";
$_SESSION['password'] = "toto55";
}
else {
// une erreur de saisie ...?
echo '<p style="color:#FF0000; font-weight:bold;">Erreur de connexion.</p>';
}
} // fin if (isset($_POST['submit']))
elseif (!isset($_SESSION['login'])) {
$_SESSION['login'] = '';
$_SESSION['password'] = '';
}
$access = false;
if (isset($_SESSION['login']) && isset($_SESSION['password'])) {
$access = true;
}
//affichage d'un formulaire
if (!$access) {
// Bouton submit non pressé j'affiche le formulaire
echo '<form id="conn" method="post" action="">'."\n";
echo ' <p><label for="login">Login :</label><input type="text" id="login" name="login" /></p>'."\n";
echo ' <p><label for="pass">Mot de Passe :</label><input type="password" id="pass" name="pass" /></p>'."\n";
echo ' <p><input type="submit" id="submit" name="submit" value="Connexion" /></p>'."\n";
echo '</form>'."\n";
} // fin if (!isset($_POST['submit'])))
//sinon access aux pages ...
?>