Posez votre question Signaler

Comment protéger ma page web en php

Discretboy 55Messages postés dimanche 21 octobre 2007Date d'inscription 26 mai 2009Dernière intervention - Dernière réponse le 8 nov. 2009 à 15:35
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 :)
?>
Lire la suite 
Réponse
+0
moins plus
je pense vous faciliter la tache en réduissant 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.
?>

ma page principale pour tout less membres

<?php
}
else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>

ma page annoncant un probleme de mot de passe ou de login


je vous montre quand meme le code pour les label

<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>


<?php
} // Fin du else
// Fin du code :)
?>


sinon juste comment faire pour protéger une page par un code en php
Discretboy 55Messages postés dimanche 21 octobre 2007Date d'inscription 26 mai 2009Dernière intervention - 16 avril 2008 à 16:11
merci pour les liens mais j'aurai besoin juste d'une explication au niveau de la compréhension.
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
Répondre
elghafoud 122Messages postés jeudi 20 février 2003Date d'inscription 29 avril 2013Dernière intervention - 16 avril 2008 à 16:18
en gros, il y a deux possibilités :

- 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
Répondre
Discretboy 55Messages postés dimanche 21 octobre 2007Date d'inscription 26 mai 2009Dernière intervention - 16 avril 2008 à 16:29
merci j ai compris.

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
Répondre
elghafoud 122Messages postés jeudi 20 février 2003Date d'inscription 29 avril 2013Dernière intervention - 16 avril 2008 à 16:33
pas logique, tu as activé le log erreur? sinon ajoute cela en tête de ton script:
error_reporting(E_ALL|E_STRICT);

et envoie l'erreur générer, ça peut nous aider ...
Répondre
Discretboy 55Messages postés dimanche 21 octobre 2007Date d'inscription 26 mai 2009Dernière intervention - 16 avril 2008 à 17:07
navré de te dire cela mais ca un moment que j'essai d'introduire correctement le code que tu m'as demandé de placer mais rien je ne vois aucun changement. la seul fois ou je j vois quelque chose c'est lorsque je le place avant le <?php.

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 ...
?>
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
J'ai le même problème que toi le truc c'est qu'il faut faire 2 page en 1. Je m'aide du site du zéro mais je ne comprend pas se chapitre.
Discretboy 55Messages postés dimanche 21 octobre 2007Date d'inscription 26 mai 2009Dernière intervention - 16 avril 2008 à 15:56
Lol. je suis comme toi je m'aide aussi sur le site du zéro.

mais j'ai fouillé un peux les forums et probleme qui ont déjà eut lieu et j'ai trouvé quelque chose de pas mal mais ca ne résolupas tte mes attentes. mais si t'as le temps je te le conseil:




http://www.commentcamarche.net/forum/affich 5964764 comment proteger ma page web en php#dernier
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
hh le 16 avril 2008
maintenant c 8 novembre 2009
mait pas de prob
tu as ecrit dans un premier code
if ($mot_de_passe_1 and $mot_de_passe_2 == "kangourou")
quel mot_de _pass_2 que tu parle sur?
je demande que tu visit le site du zero il ya un tp en cour php parle sur les page proteger par une password(mot de pass )(c pour auteur m@tio );)
Ajouter un commentaire
Ce document intitulé «  comment protéger ma page web en php  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.