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 :

[Aide] Sécuriser panel Administration [PHP 5.0]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de dexter74
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 120
    Billets dans le blog
    3
    Par défaut [Aide] Sécuriser panel Administration
    Bonjour à tous je viens de crée mon site web , on peut se logguer , avoir des mp , voir profil , modifier son profils.
    J'ai lié mon forum et mon site sur les mêmes tables / DB.

    J'aimerai maintenant attaquer au panel administration et j'aurai besoin d'une aide pour trouver l'erreur :

    BUT : Limiter l'accès au niveau 3 . (membre_rang 3)


    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
    <?php include ("includes/vierge.php"); ?>
    <div id="centre">
    <?php 
     
    if (isset($_SESSION['pseudo']))
    {
     
    	  include("includes/identifiants.php");
          mysql_connect($adresse, $nom, $motdepasse);
          mysql_select_db($database);
          $membre = $_SESSION['pseudo'] ;
     
    	  $rang = mysql_query("SELECT `membre_rang` FROM `forum_membres` WHERE `membre_pseudo`='$membre'") or die(mysql_error());
     
    	  $retourrang['membre_rang'];
    	  if ( $retourrang >= 3)
          {
    	  echo '<p>Vos droits vous permette de: 
    	  <a href="admin/liste_news.php" class="liens">visioner la liste et rédiger une news!</a> 
    	  <br />
    	  Si c\'est pas beau sa!!! xD </p>';
    	  }
    	  else
    	  {
    	  echo 'Vous n\'êtes que grade ' .$retourrang;
    	  }
     
    }
     
     
    ?>

    SQL :


    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     
    --
    -- Structure de la table `forum_forum`
    --
     
    CREATE TABLE IF NOT EXISTS `forum_forum` (
      `forum_id` int(11) NOT NULL auto_increment,
      `forum_cat_id` mediumint(8) NOT NULL,
      `forum_name` varchar(30) collate latin1_general_ci NOT NULL,
      `forum_desc` text collate latin1_general_ci NOT NULL,
      `forum_ordre` mediumint(8) NOT NULL,
      `forum_last_post_id` int(11) NOT NULL,
      `forum_topic` mediumint(8) NOT NULL,
      `forum_post` mediumint(8) NOT NULL,
      `auth_view` tinyint(4) NOT NULL,
      `auth_post` tinyint(4) NOT NULL,
      `auth_topic` tinyint(4) NOT NULL,
      `auth_annonce` tinyint(4) NOT NULL,
      `auth_modo` tinyint(4) NOT NULL,
      PRIMARY KEY  (`forum_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
     
    --
    -- Contenu de la table `forum_forum`
    --
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `forum_membres`
    --
     
    CREATE TABLE IF NOT EXISTS `forum_membres` (
      `membre_id` int(11) NOT NULL auto_increment,
      `membre_pseudo` varchar(30) collate latin1_general_ci NOT NULL,
      `membre_mdp` varchar(32) collate latin1_general_ci NOT NULL,
      `membre_email` varchar(250) collate latin1_general_ci NOT NULL,
      `membre_msn` varchar(250) collate latin1_general_ci NOT NULL,
      `membre_siteweb` varchar(100) collate latin1_general_ci NOT NULL,
      `membre_avatar` varchar(100) collate latin1_general_ci NOT NULL,
      `membre_signature` varchar(200) collate latin1_general_ci NOT NULL,
      `membre_localisation` varchar(100) collate latin1_general_ci NOT NULL,
      `membre_inscrit` int(11) NOT NULL,
      `membre_derniere_visite` int(11) NOT NULL,
      `membre_rang` tinyint(4) default '2',
      `membre_post` int(11) NOT NULL,
      PRIMARY KEY  (`membre_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
     
    --
    -- Contenu de la table `forum_membres`
    --
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `forum_mp`
    --
     
    CREATE TABLE IF NOT EXISTS `forum_mp` (
      `mp_id` int(11) NOT NULL auto_increment,
      `mp_expediteur` int(11) NOT NULL,
      `mp_receveur` int(11) NOT NULL,
      `mp_titre` varchar(100) collate latin1_general_ci NOT NULL,
      `mp_text` text collate latin1_general_ci NOT NULL,
      `mp_time` int(11) NOT NULL,
      `mp_lu` enum('0','1') collate latin1_general_ci NOT NULL,
      PRIMARY KEY  (`mp_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
     
    --
    -- Contenu de la table `forum_mp`
    --
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `forum_post`
    --
     
    CREATE TABLE IF NOT EXISTS `forum_post` (
      `post_id` int(11) NOT NULL auto_increment,
      `post_createur` int(11) NOT NULL,
      `post_texte` text collate latin1_general_ci NOT NULL,
      `post_time` int(11) NOT NULL,
      `topic_id` int(11) NOT NULL,
      `post_forum_id` int(11) NOT NULL,
      PRIMARY KEY  (`post_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
     
    --
    -- Contenu de la table `forum_post`
    --
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `forum_topic`
    --
     
    CREATE TABLE IF NOT EXISTS `forum_topic` (
      `topic_id` int(11) NOT NULL auto_increment,
      `forum_id` int(11) NOT NULL,
      `topic_titre` char(60) collate latin1_general_ci NOT NULL,
      `topic_createur` int(11) NOT NULL,
      `topic_vu` mediumint(8) NOT NULL,
      `topic_time` int(11) NOT NULL,
      `topic_genre` varchar(30) collate latin1_general_ci NOT NULL,
      `topic_last_post` int(11) NOT NULL,
      `topic_first_post` int(11) NOT NULL,
      `topic_post` mediumint(8) NOT NULL,
      PRIMARY KEY  (`topic_id`),
      UNIQUE KEY `topic_last_post` (`topic_last_post`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
     
    --
    -- Contenu de la table `forum_topic`
    --


    Je Remercis d'avance pour l'aide que vous allez me prodiguer .

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Par défaut
    essai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $rang = mysql_query("SELECT `membre_rang` FROM `forum_membres` WHERE `membre_pseudo`='$membre'") or die(mysql_error());
     
    $row= mysql_fetch_array($rang,MYSQL_ASSOC);
     
    $retourrang = $row['membre_rang'];
    mysql_free_result($rang);

  3. #3
    Membre confirmé
    Avatar de dexter74
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 120
    Billets dans le blog
    3
    Par défaut re
    Pour être sure :

    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
    <?php include ("includes/vierge.php"); ?>
    <div id="centre">
    <?php 
     
    if (isset($_SESSION['pseudo']))
    {
     
    	  include("includes/identifiants.php");
          mysql_connect($adresse, $nom, $motdepasse);
          mysql_select_db($database);
          $membre = $_SESSION['pseudo'] ;
     
    $rang = mysql_query("SELECT `membre_rang` FROM `forum_membres` WHERE `membre_pseudo`='$membre'") or die(mysql_error());
     
    $row= mysql_fetch_array($rang,MYSQL_ASSOC);
     
    $retourrang = $row['membre_rang'];
    mysql_free_result($rang);
     
     
    	  if ( $retourrang >= 3)
          {
    	  echo '<p>Vos droits vous permette de: 
    	  <a href="admin/liste_news.php" class="liens">visioner la liste et rédiger une news!</a> 
    	  <br />
    	  Si c\'est pas beau sa!!! xD </p>';
    	  }
    	  else
    	  {
    	  echo 'Vous n\'êtes que grade ' .$retourrang;
    	  }
     
    }
     
     
    ?>

  4. #4
    Membre confirmé
    Avatar de dexter74
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 120
    Billets dans le blog
    3
    Par défaut re
    Impéccable.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Par défaut
    Oui c'était bien comme cela qu'il fallait l'intégrer mais apparemment tu l'avais compris :p

  6. #6
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    Excusez-moi pour cette redondance. Quand j'ai commencé ma réponse personne n'avait encore répondu et quand j'ai posté boum... il y avait déjà 4 réponses ^^

  7. #7
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    Essaie de remplacer çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $rang = mysql_query("SELECT `membre_rang` FROM `forum_membres` WHERE `membre_pseudo`='$membre'") or die(mysql_error());
    Par çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sqlRequest = 'SELECT membre_rang FROM forum_membres WHERE membre_pseudo = \'' . $membre . '\'';
    $sqlRes = mysql_query($sqlRequest) or die(mysql_error());
    $sqlRes = mysql_fetch_object($sqlRes);
    Puis pour l'utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ($sqlRes->membre_rang >= 3)
    {
      // OK
    }
    else
    {
       echo 'Vous n\'êtes que grade ' . $sqlRes->membre_rang;
    }

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/11/2015, 23h42
  2. Besoin d'aide commandes shell administration serveur linux
    Par SEIYA. dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 10/03/2015, 18h17
  3. Aide docking panels
    Par -N4w4k- dans le forum VB.NET
    Réponses: 6
    Dernier message: 24/01/2012, 13h02
  4. demande d'aide pour l'administration red had
    Par Bidulo01 dans le forum RedHat / CentOS / Fedora
    Réponses: 1
    Dernier message: 27/05/2008, 00h34
  5. Besoin d'aide pour sécuriser un site internet
    Par Polux000 dans le forum Sécurité
    Réponses: 4
    Dernier message: 25/01/2006, 13h02

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