A tout hasard : que contient "secure.php" ?
Montre nous ce qu'il y a dedans, j'ai peut être une idée sur le pourquoi du comment.
A tout hasard : que contient "secure.php" ?
Montre nous ce qu'il y a dedans, j'ai peut être une idée sur le pourquoi du comment.
Quoique non en fait ... mon idée était daubed
secure.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php session_start() ; // on vérifie si l'utilisateur est identifié if (!isset( $_SESSION['nom'] )) { //(!isset($user_connected)) header("location:identification.php"); // la variable de session nexiste pas, // donc l'utilisateur n'est pas authentifié // On redirige sur la page permettant de sauthentifier header('Location: index.php') ; // on arrête l'exécution exit() ; } ?>
index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 <?php // initialisation de la session session_start() ; ?> <html> <head> <link href="style/style.css" rel="stylesheet" type="text/css" > <title>Bienvenue sur le site de Gestion des incidents</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/javascript"> function validation_form() { valide = true; if (!verif_vide(document.form1.pseudo.value)) { valide = false; alert('Le champ login est vide !'); document.form1.pseudo.focus(); return false; } if (!verif_vide(document.form1.passe.value)) { valide = false; alert('Le champ mdp est vide !'); document.form1.passe.focus(); return false; } if (valide == false) { alert('Veuillez remplir les champs correctement SVP !\nMerci !'); } } function verif_vide(text) { //vérifie si le champ est vide return (/\S/.test(text)); } </script> </head> <body background="images/bicig46-81.jpg" link=black vlink=black alink=black > <table width="100%"> <tr> <td align="center" valign="top"><img src="images/bienvenuehomepage.gif" width="600" height="55" ></td> </tr> <tr> <td align="center"><font size="6" face="Papyrus" color="#006400"><b>Gestion des incidents</b></font></td> </tr> </table> </td> <table bgcolor=#ffffff class="cadre" align="center"> <tr> </tr> <tr align="center"> <form method="post" name="form1" action="login.php" onsubmit="return validation_form(this);"> <tr> <td colspan="2"><font color="red"><?php if (isset($_SESSION['message'])) {echo($_SESSION['message']); unset($_SESSION['message']);}?></font></td> </tr> <tr> <td width=192><font face="Arial" size="2">Nom d'utilisateur :</font></td> <td width="225"><input type="text" name="pseudo"></td> </tr> <tr> <td width=192><font face="Arial" size="2">Mot de passe :</font></td> <td><input type="password" name="passe"></td> </tr> <tr> <td colspan=2 align="right"><input type="submit" name="Submit" value="Se connecter"></td> </tr> </form> </tr> </table> </td> </tr> </table> <table width="100%"> <tr> </tr> <tr> </tr> <tr td align="center"><td align="center"><font face="Papyrus" size="1" color="#006400"><b>© Copyright 2006 BICIG</b></font></td> </tr> </table> </body> </html>
login.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
48
49
50
51
52
53
54
55
56
57 <?php // initialisation de la session session_start() ; include('variables.php'); include('fonctions.php'); // CONNEXION A LA BASE DE DONNEE connexion(); no_cache(); $pseudo = ""; $passe = ""; // AJOUT DE TRIM (EVITE ESPACES VIDES) //if($_POST['pseudo'] && $_POST['passe']) //{ if ((strlen(trim($_POST['pseudo']))==0 && strlen(trim($_POST['passe']))==0) || ((empty($_POST['pseudo'])) && (empty($_POST['passe'])) )) { $_SESSION['message']='champs vides'; // REDIRECTION VERS LA PAGE ERREUR header("Location: ".$pagelogin."?Message=".$_SESSION['message']); } else { $pseudo = $_POST['pseudo']; $passe = $_POST['passe']; } //} // Et là, tu peux tester l'existence de tes variables if($pseudo && $passe) { // ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET // MOT DE PASSE SAISIS A LA PAGE INDEX.HTM // JE TE SUGGERE DE PROTEGER TON SCRIPT CAR IL EST FAILLIBRE AUX INJECTION SQL $requete=requete("select login from "._TABLE_." where login='".mysql_real_escape_string($pseudo)."' and mdp='".mysql_real_escape_string($passe)."'"); // SI AUCUN ENREGISTREMENT NE CORRESPOND if(mysql_num_rows($requete)==0){ // REDIRECTION VERS LA PAGE ERREUR $_SESSION['message']='Login ou Mot de passe inexistant'; header("Location: ".$pagelogin."?Message=".$_SESSION['message']); } // SI LE LOGIN ET MOT DE PASSE SONT EXACTS else { // on sauvegarde donc son nom dans la session $_SESSION['nom'] = $pseudo; // REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE header("Location:".$pagelogged."?user=".$_SESSION['nom']); } } // TON FORMULAIRE HTML CI-DESSOUS ?>
variable.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <? /*-------------------------------------------------------------------------------------- VARIABLES DE CONNEXION A LA BASE DE DONNEE --------------------------------------------------------------------------------------*/ define("_HOST_", "localhost"); define("_USER_", "root"); define("_PWD_", ""); define ("_DB_", "bdsuivi"); define ("_TABLE_", "utilisateurs"); // nom de la table utilisée /*-------------------------------------------------------------------------------------- AUTRES VARIABLES --------------------------------------------------------------------------------------*/ $validitesession = 3600; // durée de validité de la session $pagelogin = 'index.php'; // page de login et de sortie $pagelogged = 'menu1.php'; // page suivant la connexion ?>
fonctions.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 <? /*-------------------------------------------------------------------------------------- FONCTION D'AFFICHAGE DES ERREURS DE CONNEXION --------------------------------------------------------------------------------------*/ function erreur( $message ) { echo $message ; exit ; } /*-------------------------------------------------------------------------------------- FONCTION DE CONNEXION A LA BASE DE DONNEES --------------------------------------------------------------------------------------*/ function connexion() { // connexion au serveur de données @mysql_connect( _HOST_ , _USER_ , _PWD_ ) or erreur( 'Connexion au serveur de données impossible' ) ; // sélection de la base de données @mysql_select_db( _DB_ ) or erreur( 'Sélection de la base de donnée impossible' ) ; } /*-------------------------------------------------------------------------------------- FONCTION DE DECONNEXION A LA BASE DE DONNEES --------------------------------------------------------------------------------------*/ function deconnexion() { @mysql_close(); } /*-------------------------------------------------------------------------------------- FONCTION DE D'EXECUTION D'UNE REQUETE Entrée : $adr : requete Sortie : $resultat : résultat de la requete ou message d'erreur --------------------------------------------------------------------------------------*/ function requete( $requete ) { if($resultat = mysql_query( $requete )) return $resultat ; erreur( "Erreur dans la requête : $requete<br>" . mysql_error() ) ; } /*-------------------------------------------------------------------------------------- FONCTION DE DESACTIVATION DU CACHE DU NAVIGATEUR --------------------------------------------------------------------------------------*/ function no_cache() { header("Pragma: no-cache"); header("Cache-Control: no-cache"); } ?>
bon.. je remballe mon compliment, le code HTML est "bon"...
par contre le php... c'est dreamweaver tout ca ?
oui c'est c'est dreamweaver tout ca ?
bah c'est pas beau...
alors on récapitule parce que là tout le monde a l'air d'en perdre son latin
ou est la panne ? que se passe t'il a partir du moment ou tu appuie sur le bouton submit ?
1/- lorsque modifie les valeurs des champs et je cliqu sur submit (modifier) de la page edit.php, les données sont modifiées sans problème et la page gerer.php s'affiche pour me donner le résultat de l'opération.
2/- lorsque modifie les valeurs des champs et que ces valeurs contiennent un apostrophe ' , c'est à c niceau qu'il y l'erreur.
Essaie avec ma bricole on sait jamais...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function my_addslashes($var) { $tmp = str_replace("'","\'",$var); $final = str_replace('"','\"',$tmp); return $final; }
guitou12 toujours la même erreur pour l'apostrophe simple!
Array ( [raison] => dffgg'g [telephone] => 253651 [adresse] => ffvvvssccf [activite] => ffvvvssdddd [gestionnaire] => ffhh [NumCli] => 134 [MM_update] => form1 ) Erreur de syntaxe près de 'g' and NumCli<>'134'' à la ligne 1
Voila, je veux que tu testes cette page sur ton serveur. qu'on voit ce qui va pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php $_POST['nounours'] = addslashes($_POST['nounours']); print_r($_POST); echo "<form action=\"" .$_SERVER['PHP_SELF']. "\" method=\"POST\"> <input type=\"text\" name=\"nounours\" value=\"" .$_POST['nounours']. "\"> <input type=\"submit\" name=\"envoi\" value=\"OK\"> </form>"; ?>
résultat du formulaire:
Notice: Undefined index: nounours in c:\program files\easyphp1-7\www\suivi_incident\test.php on line 2
Array ( [nounours] => )
le notice tu t'en fous, par contre ton easyphp il est buggé grave !!
et en faisant un echo $_POST['nounours']; ??
il t'affiches rien, ... euh ... il marche pour autre chose ton easyphp ? ou bien ?
en initialisant $_POST['nounours'] ="";
en ajoutant echo $_POST['nounours'];
et en cliquant sur "ok", j'ai:
Array ( [nounours] => [envoi] => OK )
voici ce que j'ai maintenant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php $_POST['nounours'] =""; $_POST['nounours'] = addslashes($_POST['nounours']); print_r($_POST); echo $_POST['nounours']; echo "<form action=\"" .$_SERVER['PHP_SELF']. "\" method=\"POST\"> <input type=\"text\" name=\"nounours\" value=\"" .$_POST['nounours']. "\"> <input type=\"submit\" name=\"envoi\" value=\"OK\"> </form>"; ?>
pkoi tu fous $_POST['nounours'] =""; la !!!
il t'écrase la valeur banane !!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager