8791 sujets

Développement web côté serveur, CMS

Bonjour,

Voici mon code :
include($_GET["id"] . ".id.php");

Et juste avant cette ligne là, j'aimerais demander au serveur de définir une valeur par default si la variable "id" est vide.
Merci d'avance
Bonjour,

Tu peux utiliser la syntax if compressée, je te conseil aussi de rajouter la 2eme ligne afin d'éviter qu'on puisse se balader dans l'arborecence (voir également de tester l'existence du fichier).

Ce qui donne:
$id = (empty($_GET['id'])) ? 'valeur_par_defaut' : $_GET['id'];
$id = str_replace('../', '', $id);
include($id.'.id.php');

Modifié par Necromantik (14 Oct 2007 - 17:12)
creativeye a écrit :
include($_GET["id"] . ".id.php");

Jamais je n'aurais pensé voire ça encore en 2007 Smiley lol
je pense qu'il veut dire que si un mec s'amuse a faire taper dans l'url machin.php?id=0 ou 1 ... pourra accedé a la page qu'il souhaite. Si en plus cela donne accès au la page du compte il faut espéré qu'il y a une vérification de session en plus Smiley lol
Julien Royer a écrit :
Ce qui donne, en plus constructif ? Smiley cligne

Oui pardon, je suis souvent trop rapide (sur HFR on est habitué à être des méchants, ici c'est vrai qu'il vaut mieux être constructif :jap: )

Donc je disais, vu les 65535 didacticiels, articles, notes, posts, commentaires, messages, télégrammes, sms qui parlent de cette faille de sécurité, je suis encore étonné de voir des gens présentant cette faille dans leur code.

On rappelle qu'il y a le risque de pouvoir inclure tout et n'importe quoi, et de pouvoir révéler au grand jour des information confidentielles Smiley smile