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 :

empêcher l'affichage d'une page en dehors de son conteneur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de totophe56
    Homme Profil pro
    Concepteur FOAD
    Inscrit en
    Mars 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur FOAD
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Par défaut empêcher l'affichage d'une page en dehors de son conteneur
    Bonjour,

    je suis en train de développer quelques bouts de code en ajax et PHP

    Ma structure de page et requêtes ajax sont fonctionnels mais j'aimerais savoir comment il serait possible d'empêcher l'affichage direct d'une page php, qui elle normalement s'affiche dans une div suite à une requête ajax appelant une page contenant un include tel que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?php
    include ('../pages/contenupage.php');
    en effet, si on connaît l'adresse directe de la page /pages/contenupage.php il est possible de l'afficher sans la mise en page du site

    vous remerciant d'avance pour votre aide

    Totophe56

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    tu transmets sûrement des données via Ajax à la page PHP, non ?
    il suffit alors de faire :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if( isset($_POST['data_transmis']) )
    {
       // traitement de la page
       // ................
    } else {
       echo 'Oh, bouffon ! Tu te crois où ?';
       exit;
    }
    Ou alors vérfiier qu'une variable de SESSION, initialisée sur le site, est bien présente.

  3. #3
    Membre averti Avatar de totophe56
    Homme Profil pro
    Concepteur FOAD
    Inscrit en
    Mars 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur FOAD
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Par défaut
    suis-je bête

    je fais mes test avec des pages vides, normal que n'importe qui affiche la page

    par contre cela ne change rien au fait que je peux afficher ma page en dehors de la div main de ma page index

  4. #4
    Invité
    Invité(e)
    Par défaut
    Un moyen très simple :
    fichier test.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $cefichier = 'test.php';
    if( strpos($_SERVER['PHP_SELF'], $cefichier) ){
    	echo 'Accès direct !! Back off !!';
    	exit;
    } else {
    	echo 'ok, la page est bien en include dans une autre';
    	// on continue le traitement ....
    ?>
    .....
    <?php
    }
    ?>
    en accès direct, ça affichera :
    Accès direct !! Back off !!
    Inclus dans une autre page test2.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php include('./test.php'); ?>
    ça affichera :
    OK, la page est bien en include dans une autre
    CQFD.

  5. #5
    Membre averti Avatar de totophe56
    Homme Profil pro
    Concepteur FOAD
    Inscrit en
    Mars 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur FOAD
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 20
    Par défaut
    Bonjour et encore merci pour ton aide,

    ce script est une bonne idée mais apparemment l'appel à partir de mon menu obtenu en ajax n'est pas compris comme un appel d'une page différente de l'appel du script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $cefichier = 'contenu1.php';
    if( strpos($_SERVER['PHP_SELF'], $cefichier) ){
    	echo 'Accès direct !! Back off !!';
    	exit;
    } else {
    m'affiche toujours Accès direct !! Back off !!, en insérant juste le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ($_SERVER['PHP_SELF'];
    m'affiche le chemin de ma page que je le lance via le chemin direct du fichier ou via le menu de la page index

    quand au contrôle de l'affichage de la page en cas de connexion ou non j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(isset($_SESSION['nom']) && isset($_SESSION['motpasse'])){
       echo 'contenu1';  
    }
     
     else {
     
        header('location: ../index.php');
     }
    qui est fonctionnel

    mon soucis est donc que la variable $_SERVER['PHP_SELF'] comprend que le script dans la page est la provenance de l'action

    merci pour votre aide, ça doit pas être loin

  6. #6
    Invité
    Invité(e)
    Par défaut
    ! oups ! (c'est mon 3ème ! oups ! du jour....)
    en effet, si c'est un fichier appelé via Ajax, tu as raison.
    Par contre, ça fonctionne pour un fichier en include();

    Le mieux est donc :
    1/ une variable de SESSION,
    • initialisée dans la page principale (= celle qui appelle)
    • et vérifiée dans la page appelée.

    2/ ou simplement un paramètre, passé via Ajax à la page appelée

    => montre-nous le code de ton MENU, et surtout celui de la fonction Ajax utilisée.

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

Discussions similaires

  1. [WD17] ActiveX Web Browser : Empêcher l'affichage d'une page
    Par e.haefele dans le forum WinDev
    Réponses: 5
    Dernier message: 28/10/2013, 18h11
  2. Forcer l'affichage d'une page dans un cadre
    Par Thcan dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/11/2005, 10h58
  3. Empecher l'affichage d'une page hors popup
    Par cyber6ou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/10/2005, 18h49
  4. pb affichage d'une page sous linux
    Par fessebleu dans le forum Langage
    Réponses: 6
    Dernier message: 27/09/2005, 14h05
  5. [texte] gestion de l'affichage d'une page
    Par guy2004 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 10/07/2005, 18h37

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