soyuka

Un peu de sécurité pour la gestion des pages en php

May 30th, 2013
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.25 KB | None | 0 0
  1. <?php
  2. //Admettons que l'on est sur l'index.php et que tout passe par ici,
  3. //on va définir une variable constante :
  4. define('APP', true);
  5. //Par la même occasion et pour simplifier la migration d'un serveur à un autre on peut lui définir une base :
  6. define('ROOT', '/monsite/dev/');
  7.  
  8. //On a ensuite l'architecture suivante pour inclure les différentes pages :
  9.  
  10. include('header.php');
  11. switch($_GET['page']) {
  12.     case 'contact':
  13.         include('pages/contact.php');
  14.         break;
  15.     case 'poster':
  16.         include('pages/poster.php');
  17.         break;
  18.     default:
  19.         include('pages/home.php');
  20. }
  21. include('footer.php');
  22.  
  23. //si l'on veut réutiliser $_GET['page']; il faut sécuriser l'entrée ! par exemple :
  24. //if( !empty($_GET['page']) && is_string($_GET['page']))
  25.  
  26.  
  27. //Sur la page contact.php, on va regarder si l'accès est fais depuis l'index.php :
  28. if(!defined(APP) && APP !== true)
  29.     die('Vous n\'êtes pas autorisé à accéder à cette page');
  30.  
  31. //Puis on peut tranquillement afficher son contenu
  32. ?>
  33. <form method="POST" action=""></form>
  34. <?php
  35. //attention ici le formulaire, affiché sur l'index, va utiliser monsite.com/index.php comme action
  36. //non pas contact.php, et il est de ce fait intéressant d'utiliser un gestionnaire de tâches pour chacuns de ses //formulaires :)
  37. ?>
Advertisement
Add Comment
Please, Sign In to add comment