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 01/12/2006, 00h47   #1
Membre confirmé
 
Inscription : mars 2003
Messages : 674
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 674
Points : 242
Points : 242
Par défaut [Sécurité] Test avant d'afficher un forum

Bonjour.

Voilà mon problème : sur le site qui est destiné à des professionnels, j'ai des pages privées dont un forum (PunBB).
J'ai essayé de mettre l'accès au forum dans un include, mais ça marche pas, donc j'ai remis l'adresse directe mais du coup tout le monde peut y accéder.
En plus avant d'ouvrir le forum je dois vérifier que l'utilisateur a saisi son code personnel.
Le code concerné sur ma page index.php
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
<?php 
session_start();
if (!isset($_SESSION['utilisateur'])) {
} 
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];
if(isset($_POST['code']))     $code=$_POST['code'];
  else	$code = ""; 
require('connect.php');
if (!empty($_POST['code'])) { 
      $sql = mysql_query("SELECT * FROM r2sadmin WHERE code_perso='".$code."'",$connexion);
	if (mysql_num_rows($sql) > 0)
	{
	   $res = mysql_fetch_array($sql);
	   $code = $res['code_perso'];
	   $utilisateur = $res['utilisateur'];
	   $_SESSION['code'] = $code;
	   $_SESSION['utilisateur'] = $utilisateur;
	}
}
<div class="haut">
<form name="identite" method="Post">
<TABLE WIDTH=100% BORDER="0" CELLPADDING="0" CELLSPACING="0">
	<TR>
....
<td><font bold>|</td><td class=tdh align="center" width=20%><a href="upload/index.php">FORUM</a></TD>
......
</div>
<div class="frame">
<?php 
if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];  
 switch($page)
{
//menu horizontal
case 'accueil': include ('accueil.php');break;
case 'contacts': include ('contacts.php');break;
//case 'forum': include ('upload/index.php');break; //ne fonctionne pas
......
je voudrais remplacer cette ligne :
Code :
<td><font bold>|</td><td class=tdh align="center" width=20%><a href="upload/index.php">FORUM</a></TD>
par
Code :
<td><font bold>|</td><td class=tdh align="center" width=20%><a href="index.php?page=forum">FORUM</TD>
pour pouvoir utiliser switch.

Merci de m'aider sur ce problème
philippef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2006, 08h54   #2
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605

Peux-tu nous expliquer à quoi sert ceci :
Code :
1
2
if (!isset($_SESSION['utilisateur'])) {
}


Citation:
Envoyé par philippef
je voudrais remplacer cette ligne :
Code HTML :
<td><font bold>|</td><td class=tdh align="center" width=20%><a href="upload/index.php">FORUM</a></TD>
ça c'est mal la balise font n'est plus valide depuis XHTML 1.0 fais plutôt ceci :
Code HTML :
<td><b>|</b></td><td class=tdh align="center" width=20%><a href="upload/index.php">FORUM</a></td>
Utilise également des minuscules pour tes balises et tes attributs (et n'oublie pas de fermer toutes tes balises).
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2006, 09h39   #3
Membre confirmé
 
Inscription : mars 2003
Messages : 674
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 674
Points : 242
Points : 242
Citation:
Envoyé par trotters213

Peux-tu nous expliquer à quoi sert ceci :
Code :
1
2
if (!isset($_SESSION['utilisateur'])) {
}
OK c'est une erreur
Citation:
Envoyé par trotters213
ça c'est mal la balise font n'est plus valide depuis XHTML 1.0 fais plutôt ceci :
Code HTML :
<td><b>|</b></td><td class=tdh align="center" width=20%><a href="upload/index.php">FORUM</a></td>
Utilise également des minuscules pour tes balises et tes attributs (et n'oublie pas de fermer toutes tes balises).
Bon je ne savais !!!!
Pour le reste mes balises sont fermées. J'avais mis juste le code intéressé par mon problème pour pas charger.

AU fait t'as une idée sur comment je peux tester si l'utilisateur a saisi son code.

Merci
philippef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2006, 10h37   #4
Membre émérite
 
Avatar de viviboss
 
Inscription : août 2006
Messages : 943
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : août 2006
Messages : 943
Points : 941
Points : 941
En fait, tu veux interfcé l'accès de ton forum avec ta propre gestion d'utilisateurs ?

Pourquoi ne ferais tu pas une page Index contenant ta gestion (tes champs d'identification.....) et si c'est bon, tu redirige vers ton forum (avec la fonction "header") ?

En sachant qu'au niveau de la sécurité, tu mettras un .htaccess dans le répertoire contenant les scripts du Forum, et tu feras une gestion de Session te permettant de garder l'identité de ton visiteur. .... (autre alternative, ou même alternative complémentaire : dans tous les scripts que tu veux garder "privé", tu mets quelques lignes te permettant de vérifier les valeurs de tes Sessions, comme "if(!isset($_SESSION[]).....", ce qui te permettra de rediriger quiconque essai de passer par ailleur que par ta page index de login !!!!)
__________________
Veni Vidi Vici
-------------------------
Mes articles : developpez.com ou bien vbview.net
-------------------------
Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
Et aussi : --> pear_manual_fr.chm!!!

Ou encore : --> Les tutoriaux & cours PHP de Développez.com
-------------------------
viviboss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2006, 11h32   #5
Membre confirmé
 
Inscription : mars 2003
Messages : 674
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 674
Points : 242
Points : 242
Merci.

Pour le controle de la session, je suis ok, c'est ce que j'ai fait pour d'autres pages privées mais pour l'accès au forum, je ne vois pas comment faire sur ma page index.
Est ce que je ne devrais pas passer par une fonction javascript?
philippef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2006, 12h41   #6
Membre émérite
 
Avatar de viviboss
 
Inscription : août 2006
Messages : 943
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : août 2006
Messages : 943
Points : 941
Points : 941
Tu fais une page HTML contenant tes champs de formulaires, et une page PHP vérifiant tes conditions (connection à la base, récupération des identifiants, initialisation de ta SESSION, et enfin redirection....)

Je ne vois pas ce qui te "pose problème" .... Le tout, c'est que les scripts de ton forum soient dans un sous répertoire, auquel tu n'accède qu'à la condition de ton authetification....
__________________
Veni Vidi Vici
-------------------------
Mes articles : developpez.com ou bien vbview.net
-------------------------
Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
Et aussi : --> pear_manual_fr.chm!!!

Ou encore : --> Les tutoriaux & cours PHP de Développez.com
-------------------------
viviboss 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 18h48.


 
 
 
 
Partenaires

Hébergement Web