Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/08/2011, 23h50   #1
Invité de passage
 
Homme
Inscription : août 2010
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2010
Messages : 128
Points : 1
Points : 1
Par défaut accés à une page

Bonsoir,

J'ai fais un formulaire où je demande les identifiants d'une personne.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!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" lang="fr">
	<head>
		<title>Page protégée par mot de passe</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	</head>
	<body>
		<p>Veuillez entrer le mot de passe  :</p>
		<form action="secret.php" method="post">
			<p>
 
		    Pseudo: <input type="text" name="login" /> <br>
			MDP:	<input type="password" name="pass" />
			<input type="submit" value="Valider" />
 
			</p>
		</form>
 
	</body>
</html>
J'aimerais crée un accés securisé, si là personne àun code elle peut accéder à la page sinon il y a un message qui indique mauvais code

j'ai fais ça mais ça marche pas
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!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" lang="fr">
	<head>
		<title>Codes d'accès au serveur central de la NASA</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	</head>
	<body>
 
    <?php
 
include("_connect.php");
 
if($_POST['login']=="" || $_POST['pass']=="") // Si le formulaire a &eacute;t&eacute; envoy&eacute;
{
	$login = addslashes(htmlentities ($_POST['login']));
    $password = htmlentities ($_POST['pass']);
 
 
	if($password==$val["pass"])
	{
 
		echo "le code est bon";
 
	}
 
	else
	{
		echo "le code n'est pas bon";
 
	}
 
 
} mysql_close();
?>
 
<!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>Centre de l'Aude - Espace prive</title>
	<body>
 
	    <?php
	            echo "voici l'espace privé";
	    ?>
 
   </body>
</html>
Merci pour votre aide, bonne nuit
Marc31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 00h09   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonsoir,
il manque la partie où on compare les login et pwd entrés à ceux dans la BdD.
ps : penser à protéger la requête contre les injections sql.
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 01h52   #3
Membre habitué
 
Homme Lucas GAUTHERON
Lycéen
Inscription : décembre 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Lucas GAUTHERON

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : décembre 2008
Messages : 106
Points : 145
Points : 145
Citation:
Envoyé par peter11 Voir le message

Reprenons ton code point par point.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!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" lang="fr">
	<head>
                <!-- ah quand même. J'espère que les serveurs de la nasa sont mieux protégés que ça. -->
		<title>Codes d'accès au serveur central de la NASA</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	</head>
	<body>

    <?php
// passons sur le fait que l'appel à la base de données se fasse au milieu de la page, ce n'est rien à côté du reste...
include("_connect.php");

// Donc là tu testes si au moins un champs c'est vide et si c'est le cas tu considères que le formulaire est correctement rempli ??!!
if($_POST['login']=="" || $_POST['pass']=="") // Si le formulaire a &eacute;t&eacute; envoy&eacute;
{
// pourquoi htmlentities ? SQL ne comprends pas le html de toute façon...
	$login = addslashes(htmlentities ($_POST['login']));
// pas de addslashes pour $password ? au passage il veut mieux utiliser de vraies fonctions pour échapper les données avant de les passer au serveur sql, genre mysql_real_escape_string. Mais t'en aurais pas besoin si ton mdp était hashé, comme dans tout système d'authentification par mot de passe correct...
    $password = htmlentities ($_POST['pass']);

// $val["pass"] ? d'ou il vient celui là ?
	if($password==$val["pass"])
	{

		echo "le code est bon";

	}

	else
	{
		echo "le code n'est pas bon";

	}


} mysql_close();
?>

<!-- tiens j'ai l'impression qu'on se répète un peu... y'avait pas déjà une entête plus haut ? -->
<!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>
[...] etc.
Je veux pas être méchant mais manifestement tu ne comprends pas ce que tu fais. Lis une tuto PHP à tête reposée, c'est un langage facile, à condition de comprendre les bases du langage et du protocole HTTP tu pourras faire des petits scripts comme tu veux rapidement.
lucas74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 12h01   #4
Invité de passage
 
Homme
Inscription : août 2010
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2010
Messages : 128
Points : 1
Points : 1
Par défaut PHP

oui j'avoue que je ne comprends pas tout et moi non plus je veux pas être méchant mais ton intervention ne me sert pas tropà grnad chose!
Marc31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 12h42   #5
Futur Membre du Club
 
Inscription : avril 2009
Messages : 18
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 18
Points : 15
Points : 15
J'espère que ceci pourra t'aider

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
include("_connect.php");
?>
<!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" lang="fr">
	<head>
		<title>Page protégée par mot de passe</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	</head>
	<body>
<?php
	if(isset($_POST['login'] and isset($_POST['pass']))
	{
		$verif=new _connect();
		$id=_connect->selectIdCompte($_POST['login'],$_POST['pass']);
		if($id<>""){
			$_SESSION['id']=$id;
		}
	}		
	if(isset($_SESSION['id']){
	include('/controleur/espace_privé.html');
	}else{
	include('/view/formulaire_identification.html');
	}
?>
 </body>
</html>
kets14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 12h43   #6
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Principe :
Si le formulaire a été transmis :
1/ on récupère les valeurs : $_POST -> $login_recu et $passe_recu
2/ on fait une requete dans la bdd pour savoir s'il existe un enregistrement avec ce login
CONSEIL : le mieux est d'enregistrer les mot de passe hashés (md5 ou sha, ...)
3/ si un login existe dans la bd :
$passe_recu_hash = fonction_de_hashage($passe_recu)
on compare $passe_recu_hash avec le $passe_hash_de_la_bd_pour_ce_login
4/ si le passe est bon -> OK : on enregistre une variable de session : $_SESSION['user_ok'] = true; (par exemple)
5/ SINON : erreur ! on ne passe pas !

Tu as un code "tout-fait" (-> recherche gogole : "espace membre php")

Tu peux aussi jeter un oeil ici :
- Authentification d'un espace membre avec PHP
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 13h29   #7
Membre habitué
 
Homme Lucas GAUTHERON
Lycéen
Inscription : décembre 2008
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Lucas GAUTHERON

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : décembre 2008
Messages : 106
Points : 145
Points : 145
Citation:
Envoyé par peter11 Voir le message
oui j'avoue que je ne comprends pas tout et moi non plus je veux pas être méchant mais ton intervention ne me sert pas tropà grnad chose!
évidemment si tu le prends comme ça mon intervention ne sert pas à grand-chose. Maintenant si tu écoutes mon conseil (à savoir apprendre avant de se lancer et essayer de comprendre ce que tu fais) tu verras ce sera beaucoup plus simple.
lucas74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h51.


 
 
 
 
Partenaires

Hébergement Web