Variable Poisoning :: Chapter 6 :: A better solution

Variable Poisoning :: Chapter 6 :: A better solution

  1. $clean         = array ();
  2. $clean['page'] = 'home.php'; // Default page
  3. switch ($_GET['page']) {
  4.     case 'news.php':    // fall through
  5.     case 'about.php':   // fall through
  6.     case 'contact.php': // fall through
  7.       $clean['page'] = $_GET['page'];
  8.       break; // no default: case for space
  9. }
  10. $valid_languages = array ('en_us', 'en_gb', 'es', 'de', ...);
  11. $lang = get_lang (); // Same as before
  12. $clean['lang'] = in_array ($lang, $valid_languages) ? $lang : 'en_us';
  13. include '/path/to/' . $clean['lang'] . '/' . $clean['page'];
**code compressed to fit on slide.