Rechercher : dans
Par :

Comment protéger ma page web en php

Dernière réponse le 8 nov 2009 à 15:35:15 Discretboy, le 16 avr 2008 à 15:11:10 
 Signaler ce message aux modérateurs

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 :)
?>

Configuration: Windows Vista
Firefox 2.0.0.13

Meilleures réponses pour « comment protéger ma page web en php » dans :
[mythes] On peut protéger une page web/une image contre la copie Voir Mythe On peut empêcher la copie d'une page web ou d'une image. On peut empêcher de voir le source d'une page HTML. On peut empêcher la copie d'une vidéo, d'une musique. Réalité FAUX Explications Quelle que soit la nature d'un document (page...
[Webmaster] Publier facilement une vidéo dans une page web VoirPublier une vidéo dans une page web n'est pas toujours évident: Selon le format (AVI, MPG, MOV...) tout le monde ne possède pas forcément le bon plugin et le bon codec. En revanche, la quasi-totalité des navigateurs possèdent le plugin Flash (SWF)....
[Webmaster] Les polices dans les pages web VoirLes limites du web Quand vous utilisez une police dans une page web, elle ne s'affichera que si l'internaute a la même police installée sur son ordinateur. Vous n'avez aucun moyen de forcer l'internaute à télécharger et installer une police, pas...
Windows - Problème de fond blanc dans les pages web VoirSi les pages web que vous visitez ne s'affichent plus correctement (il n'y a plus de couleur de fond, tout est blanc), comme sur cette image : Pour résoudre ce problème, suivre les étapes suivantes : Allez dans le "Panneau de...

1

Discretboy, le 16 avr 2008 à 15:20:09

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

Répondre à Discretboy

3

elghafoud, le 16 avr 2008 à 15:52:02

Bonjour !

pour ton problème tu as deux solutions facile :
- avec les session php
- avec un fichier .htpasswd

pour la première je t'invite a visiter cette page ( http://www.elghafoud.net/... ) , y'a un exemple facile a utiliser...

sinon la 2ème :
how to : http://www.destrucsaweb.com/ressources/phpmyannu/goto_43.php
génération : http://www.htaccesstools.com/htpasswd-generator/

Là où la diplomatie a échoué, il reste la femme.

Répondre à elghafoud

5

Discretboy, le 16 avr 2008 à 16:11:24

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

6

elghafoud, le 16 avr 2008 à 16:18:29

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
Là où la diplomatie a échoué, il reste la femme.

Répondre à elghafoud

7

Discretboy, le 16 avr 2008 à 16:29:16

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

8

elghafoud, le 16 avr 2008 à 16:33:22

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 ...
Là où la diplomatie a échoué, il reste la femme.

Répondre à elghafoud

9

Discretboy, le 16 avr 2008 à 17:07:45

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

2

vince-sk8, le 16 avr 2008 à 15:25:27

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.

Répondre à vince-sk8

4

Discretboy, le 16 avr 2008 à 15:56:42

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

10

 magiccleaner, le 8 nov 2009 à 15:35:15

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

Répondre à magiccleaner