Securite en PHP

Résolu/Fermé
shreek69 Messages postés 228 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 1 juillet 2011 - 17 juin 2008 à 12:08
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 17 juin 2008 à 16:14
Bonjour,
Voila j'ai fait un site en php et il marche bien mais le probleme c'est qu'a un moment j'ai mi un lien vers une autre page que j'ai cree (mais ce lien ne se voit que si on est connecter via mon formulaire) bon jusque la sa va
MAIS le probleme si on tape l'adresse http://monsite.autrepage LA SA MARCHE AUSSI donc sans etre connecter si on connait le nom de mon fichier bun on peut y aller
comment je pourrai faire pour securise cette page
MERci a tout ceux qui repondront

15 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
17 juin 2008 à 12:11
au debut de ton fichier autrepage, tu n as cas verifier ´si la personne est connectée en faisant un truc du genre if(isset($_SESSION['login'])) {toncode} else {echo "va te faire voir, espion" ;)}
0
shreek69 Messages postés 228 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 1 juillet 2011 4
17 juin 2008 à 12:15
Merci mais sa saye je l'ai fait j'ai un petit formulaire et c bon
mais si je rentre l'url complete ji accede aussi et sa je ne veut pas pour la securite de mes pages
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
17 juin 2008 à 12:25
ha,, ce n est pas une question de contenu a afficher ou pas, c est une question que tu ne veux pas qu il sache que la page existe ?
0
shreek69 Messages postés 228 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 1 juillet 2011 4
17 juin 2008 à 13:35
NON c'est pas sa en faite j'ai une page avc un formulaire si le formulaire est bien rempli la personne est donc connecté et a acces a des nouvelle rubriques et un lien vers une autre page
mai le prob si quelqu'un arrive comme sa et met en url http://monsite/PAGEPRIVE
bun ma page s'ouvre et c'est sa le prob on peut y aller sans avoir ete connecter au prealable
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
17 juin 2008 à 14:49
ok

quand tu verifies si le formulaire est bien rempli, es ce que tu crée unse session pour l utilisateur ?
0
shreek69 Messages postés 228 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 1 juillet 2011 4
17 juin 2008 à 14:50
Non ji arrive pas du tt g tt essai avc les sessions sa marche pas du tt
ji ai bien mi avan tt code mais sa marche pas
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
17 juin 2008 à 15:02
si tu n utilises pas les sessions, tu n as aucune chance d identifier de maniere efficasse si l utilisateur a bien rempli le formulaire ou pas (c est un formulaire login / mot de pass ?)

au debut de CHACUNE de tes pages utilisant les sessions, tu mets session_start(). il faut que ce soit la toute premiere ligne de code, avant meme le HTML !!! car la session est envoyé dans l entete HTTP (la partie qui est envoyé avant ta page internet)

ensuite, quand ton traitement de formulaire tu accepte le mec, tu lui mets
$_SESSION['login']="toto";


tu as donc la page de ton formulaire et la page a proteger qui doivent contenir le sesssion_start
0
shreek69 Messages postés 228 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 1 juillet 2011 4
17 juin 2008 à 15:18
OUI tout sa j'ai essaieye deja mais sa me met des erreurs regarde mon code source:
Voici ma 1ere page:
<?php session_start(); ?>
<html>
<table>
<tr>
<td width="102"><strong>Login</strong></td>
<td width="267"><label>
<input name="login" type="text" size="20" />
</label></td>
</tr>
<tr><td colspan="2"> </td></tr>
<tr>
<td height="41"><strong>Mot de passe</strong></td>
</tr>
</table>
<?php
$connexion=mysql_pconnect("http://..../",".....");
if( ! $connexion ) echo "Impossible de se connecter";
mysql_select_db(".....");
$login = $_POST['login']; //Stocker le login entré par l'utilisateur ds une variable

$d=mysql_query("SELECT Niveaux_acces FROM identification WHERE Login='$login'");
$yy=mysql_fetch_object($d);
$verif_niveaux_acces=($yy->Niveaux_acces);
$_SESSION['Niveau']=$verif_niveaux_acces;
//la si je fais echo de $_sess... c bon j'ai le bon resultat (pour te dire que sa marche)
if (($login==$verif_login)
{echo "bonjour"};
else {echo"au revoir"};
</html>

Voici ma deuxieme:
<?php
session_start();
$droit=($_SESSION['Niveau']); la si je fais un echo de $_se... je n'ai rien
?>
<html>
ensuite la du code html pas important

J'obtien sa comme ereur pour la ligne 1:
Warning: session_start() [function.session-start]: open
et
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
17 juin 2008 à 15:25
il sont coupés les messages d erreur...
le 2 eme veut dire que tu as deja envoyé du contenu. verifie que ton <? session_start();
est bien EN TOUT TOUT TOUT debut de ton fichier. tu n as meme pas le droit de mettre un espace ou un saut de ligne avant!!!!
tu test en local ou sur un serveur internet public ?
0
shreek69 Messages postés 228 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 1 juillet 2011 4
17 juin 2008 à 15:31
EN local sa marche tres bien (jrecupere les infos) mais sur le net (avc free) sa me mes les erreurs
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
17 juin 2008 à 15:35
ha ben voila, il fallait le dire...
les sessions ne sont pas activé par defaut chez free

http://www.commentcamarche.net/forum/affich 2146318 free fr session php

regarde le leiin pour les activer: tu doit creer le reprtoire sessions a la racine de ton site
0
shreek69 Messages postés 228 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 1 juillet 2011 4
17 juin 2008 à 15:39
A ok grave merci
DONC si j'ai bien compri je cree un fichiers sessions et je le met dans le serveur de free????
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
17 juin 2008 à 15:43
non
tu crée un DOSSIER, UN REPERTOIRE, DIRECTORY ... nommé sessions, il doit etre vide, et a la racine de ton site
0
shreek69 Messages postés 228 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 1 juillet 2011 4
17 juin 2008 à 15:59
A si c bon sa marche
merci bcp napla a plus
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
17 juin 2008 à 16:14
non, pas napla.. moi c est nabla ;)

mets le post en résolu STP
0