CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Include et variable(s)

Le_GROS_Panda
Le_GROS_Panda
Niveau 1
17 septembre 2008 à 14:07:05

Coucou :salut: !

On ma toujours dit de ne pas mettre de variable dans une include (du moin une variable pouvant interagir depuis un $_GET).

Exemple :
L'URL de la page : http://monsite.fr/index.php?page=mapage include sur ma page "index.php" la page "mapage.php". :)

$page = "index";
if(isset($_GET["page"])) {$page = $_GET["page"];}

if(is_file("./pages/".$page.".php")){
include("./pages/".$page.".php");
}
else {
include("./systeme/404.php");
}

Normalement si le fichier existe, il include sur la page. Sinon, obligatoirement il envoi sur une page 404 fichier introuvable

Donc, l'include est sécurisée et on ne peut pas "hacker" le site on mettant un lien vers un site externe ou un vilain script ?
Merci d'avance :D

LeLion-67
LeLion-67
Niveau 10
17 septembre 2008 à 18:00:24

Sécurisé, oui et non.

Si tu as des fichiers "privés" dans ton dossier pages, tu l'aura dans os.

Je te conseille de faire un array avec les pages autorisés :)

Le_GROS_Panda
Le_GROS_Panda
Niveau 1
17 septembre 2008 à 19:00:09

bah enfaite il n'y a aucune page privée, et un nombre de page infini (l'utilisateurs en crée le nombre qu'il veut, donc pas possible de faire un array sur des fichiers cibles). Donc normalement aucun problème ? :)

deepblue
deepblue
Niveau 16
17 septembre 2008 à 19:36:44

Pense à fair un str_replace de '/' par '' pour ne pas donner la possibilité de naviguer sur des fichiers placés plus haut dans ton architecture.

deepblue
deepblue
Niveau 16
17 septembre 2008 à 19:38:25

Exemple : $page = '../index';
== include("./pages/../index.php");

(a voir si ça fonctionnerait quand même, j'ai un doute)

Le_GROS_Panda
Le_GROS_Panda
Niveau 1
17 septembre 2008 à 19:57:35

Ha oui, oki
bah j'vais voir tous ça :)

Merci.

Le_GROS_Panda
Le_GROS_Panda
Niveau 1
17 septembre 2008 à 20:02:37

Ha oui mais comme j'ai dit que si le fichiers n'existe pas dans le dossier cible :

if(is_file("./pages/".$page.".php")){
include("./pages/".$page.".php");
}

Même si l'utilisateur veut retourner dans le dossier précédant avec ./ ../ il ne pourra pas normalement :doute:

deepblue
deepblue
Niveau 16
17 septembre 2008 à 20:09:52

oui mais ../ permet de remonter dans le dossier parent :
toto/titi/tutu == toto/titi/../titi/tutu == toto/../toto/titi/../titi/tutu/../tutu
tu vois ce que je veux dire ?

Du coup :
page/../index.php == index.php, soit ta page à toi

Le_GROS_Panda
Le_GROS_Panda
Niveau 1
17 septembre 2008 à 20:14:15

Ha oui d'accord, j'ai compris le concept :content:

:merci:

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment