Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
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 07/06/2008, 12h36   #1
Invité de passage
 
Inscription : mai 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 12
Points : 1
Points : 1
Par défaut Session sans login!

Bonjour,

Je poste mon problème ds la catégorie session, mais il ne s'agit pas vraiment d'un problème avec login/mdp.

Un lien vaut mieux que beaucoup de lignes :

http://enigmeschristophe.free.fr/eni...es/enigme1.php

Je cherche à comprendre comment est faite cette page!

Pour mieux vous expliquer, il s'agit d'un site d'énigmes ou on passe à la page suivante en tapant un mot de passe (la réponse à l'enigme courante)

Son code est protégé.

Qui plus est, le nom de la page n°2 est la réponse à l'énigme 1.
Il ne doit donc pas apparaitre dans le code!

Comment fait il ca?

Merci pour vos réponses,
salutations
vivikowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2008, 13h09   #2
Membre confirmé
 
othmane bentalha
Inscription : mai 2006
Messages : 257
Détails du profil
Informations personnelles :
Nom : othmane bentalha
Âge : 25

Informations forums :
Inscription : mai 2006
Messages : 257
Points : 228
Points : 228
Bonjour, je crois qu'il poste la valeur par un formulaire genre
Code :
1
2
3
4
 
<form action="page2" method="post">
<input type="text" name="reponse"/>Entrez la réponse.
</form>
Et dans la page 2 tu fais
Code :
1
2
 
Vous avez choisi cette réponse <?php echo $_POST['reponse']; ?>
Tu ferais mieux de lire des cours dans la rubrique php sur les formulaires et les sessions.
Et bonne chance.
othmane126 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2008, 13h12   #3
Invité de passage
 
Inscription : mai 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 12
Points : 1
Points : 1
Non, en fait ce qui est embêtant, c'est que dans ta solution, la destination du php (page2) est affichée ds le code source, donc rien n'empêche le malotru de regarder dans le code source, puis de taper cette réponse dans la saisie de texte!
vivikowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2008, 13h16   #4
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Salut,
il faut que tu fasses une redirection :

Code :
1
2
if(isset($_POST['reponse']) && ($_POST['reponse'] == "enigme2" || $_POST['reponse'] == "enigme 2"))
 header("Location: enigme2.php");
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2008, 13h31   #5
Membre confirmé
 
othmane bentalha
Inscription : mai 2006
Messages : 257
Détails du profil
Informations personnelles :
Nom : othmane bentalha
Âge : 25

Informations forums :
Inscription : mai 2006
Messages : 257
Points : 228
Points : 228
Citation:
Non, en fait ce qui est embêtant, c'est que dans ta solution, la destination du php (page2) est affichée ds le code source, donc rien n'empêche le malotru de regarder dans le code source, puis de taper cette réponse dans la saisie de texte!
On quoi ça peut lui être utile de connaitre la page de destination?! puisque les informations ne paraisseront dans la deuxième page que s'ils sont envoyé par la méthode POST.
othmane126 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2008, 13h33   #6
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
tu fais un clic droit et t'as la solution de l'énigme, c'est un peu bidon pour un site d'énigmes ^^
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2008, 21h30   #7
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 453
Points : 5 453
Code html :
<form name=formulaire method=post action=enigme1.php>Saisissez une réponse :
Le formulaire redirige sur la page elle-même, donc la solution de l'enigme doit se trouver dans le même script php que l'enigme proprement dite. MAIS ce que voit un utilisateur c'est le code interprété en html et non le code php.

Exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form action="" method="post">
  Tapez un mot :<input type="text" name="champ">
  <input type="submit" name="Envoi">
</form>
<?php
$champ = (isset($_POST['champ'])?$_POST['champ']:'';
if ($champ == 'chaussette')
{
  echo 'Bravo vous avez tapé le bon mot';
}
else
{
 echo 'Vous devez taper quelque chose d\'autre';
}
?>
Le code ci-dessus n'écrira "Vous avez tapé le bon mot" que si le mot tapé est chaussette.
Mais tout ce que verra l'utilisateur en regardant le code source (tant qu'il n'aura pas tapé chaussette) c'est le code html suivant :
Code html :
1
2
3
4
5
<form action="" method="post">
  Tapez un mot :<input type="text" name="champ">
  <input type="submit" name="Envoi">
</form>
Vous devez taper quelque chose d'autre

Est-ce clair ?
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 10h18   #8
Invité de passage
 
Inscription : mai 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 12
Points : 1
Points : 1
C'est parfaitement clair, merci.

J'ai donc testé un code en me servant du votre pour modele.
Je l'ai envoyé sur le serveur, mais pas moyen, le code a l'air parfait, cependant la redirection quand le mot de passe est bon ne fonctionne pas.

Pourriez vous me dire si mon code est ok?

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
<?php
 
define('LE_PASSWORD','mdp');
 
// On redirige si le password n'est pas transmis ou s'il est mauvais (différent de la valeur de la constant LE_PASSWORD)
if(empty($_POST['texte']) || ($_POST['texte'] !== LE_PASSWORD)) {
    header(
 "Status: 301 Moved Permanently", false, 301);
header(
 "Location: http://www.faux.com");
    exit;
}
else
{
header(
 "Status: 301 Moved Permanently", false, 301);
header(
 "Location: http://www.juste.com");
    exit;
?>  
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title></title>
</head>
<body>
<form method="post" action="depart.php" name="formu"><input
 name="texte">&nbsp;<input name="envoyer"
 value="Valider la réponse" type="submit"></form>
</body>
</html>
vivikowski 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 02h03.


 
 
 
 
Partenaires

Hébergement Web