"?page=..."

Karim -  
MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Il y a des années que j'ai arrêté le PHP. Je n'étais pas très doué, juste les bases de chez bases (et j'utilisais majoritairement les outils proposés par les logiciels tels que Namo et Dreamweaver, je ne créais pas mes propres codes ou quoi que ce soit du genre...). Simplement, pour aider une amie qui veut créer son propre site, je recherche un code qu'il y avait sur le site sur lequel je bossais en tant que rédacteur (j'étais rédacteur, c'est la raison pour laquelle j'ai pu entrevoir un peu le PHP, mais je n'ai jamais programmé de site).

Sur ce site, il y avait un code placé dans l'index (index contenant le design et la mise en page du site). On plaçait le code là où on voulait que les pages s'affichent. Ensuite, pour les liens vers ces pages, il suffisait de mettre un truc du genre "?page=NOMDELAPAGE.php" et lorsqu'on cliquait sur ce lien, la page en question s'affichait à l'endroit de l'index où le code était placé...

Je sais que c'est un peu compliqué, et je ne m'y connais pas du tout, mais j'aimerais simplement retrouvé ce code pour aider mon amie. Si quelqu'un peut m'aider, je lui en serait super reconaissant, car voilà un moment que je cherche en vain...

Merci à tous !

Karim

4 réponses

  1. MastercroW Messages postés 1259 Date d'inscription   Statut Membre Dernière intervention   163
     
    Bonjour,

    C'est sur qu'en utilisant ce que vous utiliser vous pouvez avoir des attaques qui peuvent endommagés votre base de donnée.
    En utilisant ceci, il y a moins de risques qu'il y ai des failles.

    Changer :
    if (isset($_GET['page'])){ 
    
    //on utilises notre variable: 
    // par exemple pour simplement l'afficher 
    echo $_GET['page']; 
    
    } 

    Par
    if (empty($_GET['page'])) $_GET['page'] = 'index';
    if(!file_exists("page/".$_GET["page"].".php")) $_GET["page"]="404";
    $urlInclusion = 'page/'.$_GET['page'].'.php';
    include($urlInclusion);		
    2
  2. SlyK Messages postés 1060 Statut Contributeur sécurité 147
     
    Bonsoir,

    Si vous faites ceci il faut faire attention, car plusieurs attaque peuvent être possible.

    Cordialement,
    SlyK
    1
    1. Karim
       
      Merci pour votre réponse si rapide ! De quel genre d'attaques parlez-vous ?
      0
    2. SlyK Messages postés 1060 Statut Contributeur sécurité 147
       
      Inscrivez-vous, je vous enverrais un MP avec le lien d'un site.

      Bien sûr, tout dépend de la méthode de codage.
      Une white list sera nécessaire.
      0
    3. AssassinTourist Messages postés 409 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      Bonjour,
      Pourquoi ne pas poster vos explications ici ?
      0
    4. SlyK Messages postés 1060 Statut Contributeur sécurité 147
       
      Tout simplement parce que le lien que je vais donner pourrait inciter certaines personnes à hacker des sites.
      0
  3. Garth
     
    mapage.php?page=mavaleur

    Ce sont les variables GET en php.

    Elles peuvent venir d'un formulaire ou être écrite directement dans le lien.

    Allez voir du côté de google : php GET.

    Pour less récupérer il faut que la page ciblée comportes le code :
    <?php

    if (isset($_GET['page'])){

    //on utilises notre variable:
    // par exemple pour simplement l'afficher
    echo $_GET['page'];

    }

    Pour indiquer cette variable il faut soit un formulaire soit indiquer dans un lien cette variable, soit utiliser la fonction header() en php

    Voici un exemple pour le lien:

    <a href="mapage.php?page=couscous">couscous</a>
    Avec la fonction echo précédente affichera dans ma page.php

    couscous

    Si vous faites ceci il faut faire attention, car plusieurs attaque peuvent être possible.
    N'importe qui peut changer la variable dans la barre d'adresse en tapant ce qu'il veut. Les attaques c'est surtout si la valeur est utilisé pour une requête dans une base de données, en tapant une requête un internaute peut simplement faire ce qu'il veut de la base(récupérer, supprimer, fausser...) donc attention.
    1
    1. SlyK Messages postés 1060 Statut Contributeur sécurité 147
       
      C'est surtout que d'après ce qu'il dit il compte faire un include de la variable GET.
      Donc obliger de faire passé la variable par un test dans une withe list.

      Sinon, bonjour les attaques par Inclusions dynamiques.
      0
  4. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    tout a fait.
    0