IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] Test avant d'afficher un forum


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    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 : 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
    <?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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><font bold>|</td><td class=tdh align="center" width=20%><a href="upload/index.php">FORUM</a></TD>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <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

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Peux-tu nous expliquer à quoi sert ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (!isset($_SESSION['utilisateur'])) {
    }


    Citation Envoyé par philippef
    je voudrais remplacer cette ligne :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <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).

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Citation Envoyé par trotters213

    Peux-tu nous expliquer à quoi sert ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <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

  4. #4
    Membre éprouvé
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Points : 1 248
    Points
    1 248
    Par défaut
    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
    -------------------------

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    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?

  6. #6
    Membre éprouvé
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Points : 1 248
    Points
    1 248
    Par défaut
    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
    -------------------------

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecrire des test avant de développer ?
    Par kisitomomotene dans le forum Test
    Réponses: 18
    Dernier message: 03/02/2009, 01h46
  2. Test avant ouverture de fichier
    Par Yves2507 dans le forum Access
    Réponses: 6
    Dernier message: 10/09/2006, 09h57
  3. Réponses: 2
    Dernier message: 19/08/2006, 10h46
  4. Avant de poster : le forum Projets
    Par dourouc05 dans le forum Projets
    Réponses: 0
    Dernier message: 14/06/2006, 00h34
  5. Comment faire un test avant un FieldByName().value = ... ?
    Par fredfred dans le forum Bases de données
    Réponses: 13
    Dernier message: 19/09/2005, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo