Session php non-securisé
Fermé
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
-
8 mai 2008 à 12:07
checho - 17 juin 2015 à 16:40
checho - 17 juin 2015 à 16:40
A voir également:
- Session php non-securisé
- Mode sécurisé samsung - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mode sécurisé free - Forum LG
- Mode securise tele tcl ✓ - Forum Téléviseurs
- Exemple de mot de passe sécurisé - Guide
18 réponses
ce sujet est vieux, mais si ca peux conclure, ajouter en début de script:
<?php
ini_set ('session.bug_compat_42', 0);
ini_set ('session.bug_compat_warn', 0);
?>
pour supprimer le message.
<?php
ini_set ('session.bug_compat_42', 0);
ini_set ('session.bug_compat_warn', 0);
?>
pour supprimer le message.
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
51
8 mai 2008 à 13:51
8 mai 2008 à 13:51
Oui, tout est bon a prendre :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
51
8 mai 2008 à 13:59
8 mai 2008 à 13:59
Je souhaiterais qu'il soit redirigé ver index.php, car en entrant directement index2.php, il n'a pas fournis de mot de passe. C'est donc une grosse faille que je souhaiterais éviter !
Merci
Merci
ok c'est facile, dans ta page index2.php tu met le code:
<?php
session_start();
if ($_SESSION['mot_de_passe'] = "")
{header("Location: index.php");}
?>
et dans logout.php, tape tout simplement ce code:
<?php
session_start();
session_destroy;
header("Location: index.php");
?>
Un conseil en plus pour tes headers, c'est mieux de mettre des adresse absolues, donc header("Location: http://localhost/..../index.php");
PS: j'ai mis les points de suspensions dans ce header, car c'est toi seul qui connait l'adresse complète.
Essai-le, déconnecte toi, puis tapes sur le navigateur index2.php, et dis moi si çamarche .
a+
<?php
session_start();
if ($_SESSION['mot_de_passe'] = "")
{header("Location: index.php");}
?>
et dans logout.php, tape tout simplement ce code:
<?php
session_start();
session_destroy;
header("Location: index.php");
?>
Un conseil en plus pour tes headers, c'est mieux de mettre des adresse absolues, donc header("Location: http://localhost/..../index.php");
PS: j'ai mis les points de suspensions dans ce header, car c'est toi seul qui connait l'adresse complète.
Essai-le, déconnecte toi, puis tapes sur le navigateur index2.php, et dis moi si çamarche .
a+
Excuse il ya une erreur sur mon code, et sur le tient:
<?php
session_start();
if ($_SESSION['mot_de_passe'] == "")
{header("Location: index.php");}
?>
En fait au lieu du simple égal, tu dois metrre un double égal
et sur ton script, il y a cet erreur.
<?php
session_start();
if ($_SESSION['mot_de_passe'] == "")
{header("Location: index.php");}
?>
En fait au lieu du simple égal, tu dois metrre un double égal
et sur ton script, il y a cet erreur.
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
51
8 mai 2008 à 14:17
8 mai 2008 à 14:17
Non, snif, je peut toujours accéder à index2.php sans m'identifié...
Merci quand même de ta réponse
Merci quand même de ta réponse
méme avec le double égal ? car t'avais fait une faute à index2.php, t'a mis un simple égal au lieu du double égal:
<?php
session_start();
if ($_SESSION['mot_de_passe'] == "")
{header("Location: index.php");}
?>
<?php
session_start();
if ($_SESSION['mot_de_passe'] == "")
{header("Location: index.php");}
?>
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
51
8 mai 2008 à 14:37
8 mai 2008 à 14:37
Si ca amrche, merci :)
En fait, ce qui c'est passé, c'est qu'on a posté nos deux message avec un intervale de quelques secondes, donc en disant "non snif", je répondais un précédent message et non à la correction...
Merci beaucoup en tout cas...
Il reste toujours un probléme, celui du message affiché par le navigateur en bas de index.php :
"Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0"
Merci pour vos réponses...
En fait, ce qui c'est passé, c'est qu'on a posté nos deux message avec un intervale de quelques secondes, donc en disant "non snif", je répondais un précédent message et non à la correction...
Merci beaucoup en tout cas...
Il reste toujours un probléme, celui du message affiché par le navigateur en bas de index.php :
"Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0"
Merci pour vos réponses...
Je n'ai jamais eu affaire à ce problème, donc je ne pourrais pas t'aider efficacement.
Mais, vu ton code de index.php, je pense que le problème viens de :
$name=$_POST['name'];
$_SESSION['name'] = $name;
En effet, dès le départ $_SESSION['name'] = $name;
or $name est égal à $_POST['name']
mais $_POST['name'] est égal à rien car le visiteur n'a méme pas encore appuyé sur le boutton submit
Donc le problème, c'est que tu as affecté une variable indéfinie (càd sans valeur) à $_SESSION['name'] , alors que le visiteur n'a pas encore appuyé sur le boutton submit.
Donc dans index.php, essaie ce code:
<?php
session_start(); // On démarre la session AVANT toute chose
if($_POST['name']!="")
{
$_SESSION['name'] = $name;
$_SESSION['mot_de_passe'] = $mot_de_passe;
}
/*En effet $_SESSION['name'] sera égal à $name et $_SESSION['mot_de_passe'] sera égal à $mot_de_passe*/
/*que si $_POST['name'] n'est pas égal à rien*/
// Maintenant que le session_start est fait, on peut taper du code HTML
?>
Un autre conseil aussi:
tjrs dans index.php, remplace
if (isset($_POST['mot_de_passe']))
par if ($_POST['mot_de_passe']!="")
car parfois,isset est compliqué à utiliser
Bon essaie ces code mais je ne te garanti pas du résultat.
Mais après dis moi si ça marche.
Mais, vu ton code de index.php, je pense que le problème viens de :
$name=$_POST['name'];
$_SESSION['name'] = $name;
En effet, dès le départ $_SESSION['name'] = $name;
or $name est égal à $_POST['name']
mais $_POST['name'] est égal à rien car le visiteur n'a méme pas encore appuyé sur le boutton submit
Donc le problème, c'est que tu as affecté une variable indéfinie (càd sans valeur) à $_SESSION['name'] , alors que le visiteur n'a pas encore appuyé sur le boutton submit.
Donc dans index.php, essaie ce code:
<?php
session_start(); // On démarre la session AVANT toute chose
if($_POST['name']!="")
{
$_SESSION['name'] = $name;
$_SESSION['mot_de_passe'] = $mot_de_passe;
}
/*En effet $_SESSION['name'] sera égal à $name et $_SESSION['mot_de_passe'] sera égal à $mot_de_passe*/
/*que si $_POST['name'] n'est pas égal à rien*/
// Maintenant que le session_start est fait, on peut taper du code HTML
?>
Un autre conseil aussi:
tjrs dans index.php, remplace
if (isset($_POST['mot_de_passe']))
par if ($_POST['mot_de_passe']!="")
car parfois,isset est compliqué à utiliser
Bon essaie ces code mais je ne te garanti pas du résultat.
Mais après dis moi si ça marche.
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
51
8 mai 2008 à 17:14
8 mai 2008 à 17:14
Snif, je suis modit :(
En effet, le message ne s'affiche plus sur la page :), mais lorsque l'on clic, on obtien sur fond blanc ce message :
"Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0"
Quelqu'un as-t-il une solution ?
Merci d'avance...
En effet, le message ne s'affiche plus sur la page :), mais lorsque l'on clic, on obtien sur fond blanc ce message :
"Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0"
Quelqu'un as-t-il une solution ?
Merci d'avance...
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
51
12 mai 2008 à 23:18
12 mai 2008 à 23:18
UP :)
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
51
13 mai 2008 à 00:16
13 mai 2008 à 00:16
UP :)
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
51
13 mai 2008 à 00:22
13 mai 2008 à 00:22
Up :)
hack_net
Messages postés
783
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 juin 2014
51
13 mai 2008 à 19:56
13 mai 2008 à 19:56
UP !
cyrilherve
Messages postés
324
Date d'inscription
dimanche 12 août 2007
Statut
Membre
Dernière intervention
26 août 2011
7
>
S.lipkno.t
22 mai 2009 à 16:02
22 mai 2009 à 16:02
je rencontre le mm probleme,,, comment je vais donc modifier ces valeurs(register_globals) vu que mon site est chez un hebergeur ?
cdlt
cdlt
Bonjour, le poste date mais mieux vos tard que jamais, si vous avez cette erreur ( c'est que des variables et autres $_POST[] sont utilisé sur la page de manière tel qu'un pirate pourrais récupérer leur contenu, afin d'éviter cela il faut que le contenu des variables soit vidé lorsque le traitement a été effectué sur votre page
// INDEX.PHP
<?php
session_start();
$_SESSION['name'] = (isset($_POST['name'])) ? $_POST['name'] : "";
$_SESSION['mot_de_passe'] = (isset($_POST['mot_de_passe']) and !empty($_POST['mot_de_passe'])) ? $_POST['mot_de_passe'] : "";
switch (@$_POST['mot_de_passe']) {
case "uvjkabvw78":
@header("Location: index2_test.php");
break;
case "--t7xdmlxdse2++":
@header("Location: admin.php");
break;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Connexion au site</title>
</head>
<body>
<center>
<br><br><br><br>
<h1>BIENVENUE !</h1>
<form action="index.php" method="post">
<table width="225" border="1" cellpadding="3">
<tr><td colspan="2"><center><font
size="+2"><b>Connexion</b></font></center></td></tr>
<tr><td>Prénom : </td><td><input type="text" name="name"></td></tr>
<tr><td>Mot de Passe : </td><td><input type="password" name="mot_de_passe" /> </td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Valider" /></td></tr>
</table>
</form>
</center>
</body>
</html>
__________________________________________________________
<?php
session_start();
$_SESSION['name'] = (isset($_POST['name'])) ? $_POST['name'] : "";
$_SESSION['mot_de_passe'] = (isset($_POST['mot_de_passe']) and !empty($_POST['mot_de_passe'])) ? $_POST['mot_de_passe'] : "";
switch (@$_POST['mot_de_passe']) {
case "uvjkabvw78":
@header("Location: index2_test.php");
break;
case "--t7xdmlxdse2++":
@header("Location: admin.php");
break;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Connexion au site</title>
</head>
<body>
<center>
<br><br><br><br>
<h1>BIENVENUE !</h1>
<form action="index.php" method="post">
<table width="225" border="1" cellpadding="3">
<tr><td colspan="2"><center><font
size="+2"><b>Connexion</b></font></center></td></tr>
<tr><td>Prénom : </td><td><input type="text" name="name"></td></tr>
<tr><td>Mot de Passe : </td><td><input type="password" name="mot_de_passe" /> </td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Valider" /></td></tr>
</table>
</form>
</center>
</body>
</html>
__________________________________________________________
26 sept. 2012 à 01:14
17 juin 2015 à 16:40