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 :

[Système] include de pseudo frame


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de rougedragon
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Par défaut [Système] include de pseudo frame
    Bonjour,
    Dans un post précédent on me dit de ne pas afficher mes pages avec le script suivant
    (j'ai fais simple) . La justification est qu'il ne faut pas mettre de variable avec un include.

    Comment gérer les pseudo-frames autrement ???

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Par défaut
    il faut que tu concatene ton extension avec ta variable si $page contient juste accueil par exemple

    comme ca tu "colle" accueil a .php ce qui lui permet de trouver ton fichier et de l'inclure correctement.

  3. #3
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Je pense que si on t'a dit ça, c'est pour éviter que tu fasses l'include d'un fichier non prévu pour ça (inclusion de code source arbitraire).
    La variable $page vient d'un formulaire, ou d'une entrée utilisateur, enfin de l'extérieur de ton script, c'est ça ? Dans ce cas il faut vérifier qu'elle a bien une des valeurs attendue, et si ce n'est pas le cas tu renvoies une erreur. Mais ne fais jamais un include directement avec un nom de fichier qui vient d'on ne sait pas où.
    [EDIT : c'est en gros ce que fait segfault en-dessous]

    Désolé si jamais j'ai répondu à côté

  4. #4
    Membre éclairé
    Homme Profil pro
    Responsable d'une MOE bancaire
    Inscrit en
    Juillet 2003
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable d'une MOE bancaire

    Informations forums :
    Inscription : Juillet 2003
    Messages : 261
    Par défaut
    le fait d'ajouter .php à ta variable est déja pas mal, mais tu peux faire mieux genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    switch($page)
      	{
      		case "home":
    			$page = 'home.html';
    			break;
    		case "toto":
    			$page = 'titi.php';
    			break;
    		default:
    			$page = 'home.html';
    			break;
      	}
    bein dans default, soit tu redirige vers une page precise soit tu affiche un truc genre "c'est raté, réessaye autre chose"

    EDIT: un conseil de ma part, redirige plutot vers une page, car si tu lui affiches un message enervant et il se trouve que cette personne est douée, tu peux dire bye bye à ton site

  5. #5
    Membre confirmé Avatar de rougedragon
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Par défaut
    j'appelle mes pages bêtement par: <a ... tete.php?link=specialteam...

    je pensais être couvert par ça en fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
     $filename = "./$link.include.php";
      if(file_exists($filename))
      {
       include($filename);
    }
    else
    {
    echo 'VOUS NE POUVEZ PAS AFFICHER CETTE PAGE';
    }
    ?>
    sachant que pour brouiller un peu , je peux mettre tarte à la place de inc.
    Qu'en pensez vous ??
    (ce que propose Halukard en fait- j'avais pas lu)

  6. #6
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Par défaut
    Salut,

    imagine je fais entrer dans ta variable $link

    "http://monserveur/hack"
    (sachant que j'ai un fichier qui se nomme hack.include.php)

    on appelle cela des attaques XSS,

    tu devrais faire attention avec ça ...
    élabore toi un front-controller plus performant, c'est la dessus que repose ton appli.

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

Discussions similaires

  1. Include pseudo-frame sur ma page
    Par karamaster dans le forum Langage
    Réponses: 2
    Dernier message: 02/01/2014, 10h05
  2. [Système] Solution meilleur que les pseudo-frames
    Par paradeofphp dans le forum Langage
    Réponses: 4
    Dernier message: 05/09/2006, 17h46
  3. Pseudo-frame et index
    Par MYster dans le forum Langage
    Réponses: 3
    Dernier message: 09/11/2005, 18h48
  4. Pseudo frames
    Par virtuadrack dans le forum Langage
    Réponses: 9
    Dernier message: 23/10/2005, 14h23
  5. [Système] question bete sur les pseudo frames
    Par balou dans le forum Langage
    Réponses: 5
    Dernier message: 12/10/2005, 13h11

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