Sephirius2 | Salut (oui encore moi et pr encore 1 an au moins...)
Toute ma page Index.php est composé d'include dont une pour la partie principale dans laquelle s'affiche le contenu du site.
Afin de ne pas tenter les Hackers de 10 ans et moins je voulais sécuriser cette partie en utilisant le code de NazzTazz publié dans la partie "blabla@php | faq et bonnes pratiques"
Voici le code publié par NazzTazz:
Code :
- <?php
- $pages_ok = array('accueil', 'categorie', 'produit');
- if (in_array($_GET['page'], $pages_ok)) {
- include $_GET['page'].'.php';
- } else {
- header ('HTTP/1.1 404 Not Found');
- die();
- }
- ?>
|
Mtnt voici le mien adapté à mes besoins:
Code :
- <?php
- // On définit le tableau contenant les pages autorisées
- // ----------------------------------------------------
- $pageOK = array( 'accueil' => 'ACCUEIL/accueil.php',
- 'agenda' => 'agenda.php', 'actualite' => 'actualite.php');
- // On teste que le paramètre d'url existe et qu'il est bien autorisé
- // -----------------------------------------------------------------
- if ( in_array($_GET['page'], $pageOK)) {
- include $_GET['page'].'.php';
- } else {
- header ('HTTP/1.1 404 Not Found');
- die ();
- }
- ?>
|
A titre d'info j'ai remplacé le code ci dessous par celui ci dessus
Code :
- <?php
- // On définit le tableau contenant les pages autorisées
- // ----------------------------------------------------
- $pageOK = array(
- 'accueil' => 'ACCUEIL/accueil.php',
- 'agenda' => 'AGENDA/agenda.php',
- 'actualité' => 'ACTUALITE/actualite.php',
- 'publications' => 'PUBLICATIONS/publications.php',
- 'comite' => 'COMITE/comite_contact.php',
- 'presentation' => 'CDH/cdh_presentation.php',
- 'local' => 'CDH/LOCAL/cdh_local.php',
- 'national' => 'CDH/NATIONAL/cdh_national.php',
- 'arrondissement' => 'ARRONDISSEMENT/arrondissement.php',
- 'forum' => 'FORUM/phpbb2/index.php',
- 'galerie' => 'GALERIE/index.php',
- 'news' => 'newsletter/inscription.php',
- 'liens' => 'LIENS/liens.php',
- 'contacts' => 'CONTACTS/contacts.php',
- 'apropos' => 'EXTRANET/apropos.html',
- );
- // On teste que le paramètre d'url existe et qu'il est bien autorisé
- // -----------------------------------------------------------------
- if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
- include($pageOK[$_GET['page']]); // Nous appelons le contenu central de la page
- } else {
- include('ACCUEIL/accueil.php'); // Page par défaut quant elle n'existe pas dans le tableau
- }
- ?>
|
pour appeler mes pages j'utilise l'URL au format suivant: index.php?page=accueil
Le problème ? PHP me retourne une erreur à chaque fois. J'ai dj essayé pas mal de solution mais apparemment aucune ne convient... Voici le message que je reçois: Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\CDH_V4.0\Index.php:34) in C:\wamp\www\CDH_V4.0\corps.php on line 23
Une idée pr résoudre ce problème? |