JeuWeb - Crée ton jeu par navigateur
Includes sécurisés : La méthode rapide - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Includes sécurisés : La méthode rapide (/showthread.php?tid=8196)



Includes sécurisés : La méthode rapide - Xenos - 14-09-2020

Includes sécurisés : La méthode rapide

Un des sites que nous avons tous fréquentés, le Site du Zero, proposait une méthode d'inclusion sécurisée à l'aide d'un switch, consommant ainsi des lignes du temps et des ressources inutiles. Je voulais vous montrer la méthode que j'utilise {Image (attachment) /icon_fun.gif}

Code :
<?php
//La page d'actions se distingue par le fait qu'elle est le pillier central de toutes les pages du jeu.
//Si vous voulez modfifier la page de constructions il faudra allez dans le dossier "actions" et modifier la page "constructions.php".
    //Toutes les pages d'actions sont listées dans cet array. Si vous en rajoutez une n'oubliez pas de la rajouter dans l'array.
    $AllDaPages = array("constructions",
    "technologies",
    "unites",
    "map",
    "production",
    "messagerie",
    "options",
    "disconnect");
    
        $AffichePage = $_GET['p'];
            if(in_array($AffichePage, $AllDaPages)){
                include($AffichePage . ".php");
            }
            else{
                echo ("cette page n'existe pas");
            }
?>

Vous pouvez également optimiser le script comme ceci :

Code :
                if(in_array($AffichePage, $AllDaPages)){
                    //On verifie si la page existe :
                    if(file_exists($AffichePage . ".php")){
                        include($AffichePage . ".php");
                    }
                    else{
                        echo("Cette page n'existe plus ou pas encore ...");
                    }
                }

Et voila, super simple et plus rapide, non ?