Passage par index.php obligatoire...
Nunuxnewby
Messages postés
435
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Nunuxnewby Messages postés 435 Date d'inscription Statut Contributeur Dernière intervention -
Nunuxnewby Messages postés 435 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Mon but est d'empêcher l'affichage d'une page PHP si elle n'est pas inclue dans l'index.
Voici le code (simplifié) de mon index.php
Donc les adresses de mes pages sont http://www.monsite/index.php?page=lapagequejeveux
mais si je tape l'adresse directe d'une des pages exemple http://www.monsite.accueil.php, celle ci n'est pas inclue dans l'index (qui permet une mise en forme commune à toute les pages.
J'ai essayé le
en haut de toute mes pages, mais elles s'affichent à la suite de la page d'accueil (puisque celle ci est définie par défaut si le $_get(page) est vide.
J'ai essayé:
Mais si je tape directement http://www.monsite.com/index.php dans le navigateur, je ne vient de "nulle part" donc ça ne va pas!
Voilà!
Merci d'avance de l'aide que vous allez apporter à un débutant! :-)
Mon but est d'empêcher l'affichage d'une page PHP si elle n'est pas inclue dans l'index.
Voici le code (simplifié) de mon index.php
<head> </head> <body> <div class="conteneur"> <?php include('common_files/top_menu.php'); ?> <?php // Liste des pages valides $PagesValides = array( 'accueil' => 'accueil.php', 'contact' => 'contact.php', ); // On teste que le paramètre d'url existe et qu'il est bien autorisé if ( (isset($_GET['page'])) && (isset($PagesValides[$_GET['page']])) ) { include($PagesValides[$_GET['page']]); } else { include('accueil.php'); } ?> </div> </body>
Donc les adresses de mes pages sont http://www.monsite/index.php?page=lapagequejeveux
mais si je tape l'adresse directe d'une des pages exemple http://www.monsite.accueil.php, celle ci n'est pas inclue dans l'index (qui permet une mise en forme commune à toute les pages.
J'ai essayé le
<?php require_once ("index.php"); ?>
en haut de toute mes pages, mais elles s'affichent à la suite de la page d'accueil (puisque celle ci est définie par défaut si le $_get(page) est vide.
J'ai essayé:
$from = getenv("HTTP_REFERER"); if($from != "http://www.monsite/index.php") {header("location: index.php"); exit;}
Mais si je tape directement http://www.monsite.com/index.php dans le navigateur, je ne vient de "nulle part" donc ça ne va pas!
Voilà!
Merci d'avance de l'aide que vous allez apporter à un débutant! :-)
A voir également:
- Fourtoutici.ac
- Passage qwerty azerty - Guide
- Obligatoire - Accueil - Maison
- Darkiworld inscription obligatoire - Guide
- Tinder photo obligatoire - Accueil - Utilitaires
- Test passage windows 11 - Guide
3 réponses
Bon... des heures que je cherche, j'ai posté y'a qlq minutes, il suffit que je poste pour qu'un semblant de solution se pointe...
Il semble que en mettant au début de mes pages (sauf index.php évidement) le code suivant, ça marche!
Mais est ce sécurisé? ça me semble trop facile...
Merci!
Il semble que en mettant au début de mes pages (sauf index.php évidement) le code suivant, ça marche!
<?php if($_SERVER["PHP_SELF"] != "/index.php") {header("location: index.php"); exit;} ?>
Mais est ce sécurisé? ça me semble trop facile...
Merci!