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

truc bizzare variable $_GET

boss_power
boss_power
Niveau 6
13 septembre 2015 à 05:11:55

Bonjour, j'ai un code source de ce genre:

<!DOCTYPE html>
<head>
<meta charset="utf-8">
</head>
<body>
<p><a href="bonjour.php?nom=Dupont&prenom=Jean&age=17">Bonjour toi</a></p>
</body>

et une page bonjour.php comme ca:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<p>Bonjour <?php echo $_GET['nom'] ?> <?php echo $_GET['prenom'] ?>,
vous avez <?php echo $_GET['age'] ?> ans</p>
</body>
</html>

J'essaye la sécurité de mon site et modifie les paramètres en enlevant les variables. Mais pourquoi ca m'affiche pas une erreur de ce type:

Bonjour
Notice: Undefined index: prenom in C:\wamp\www\tests\bonjour.php on line 9

Notice: Undefined index: nom in C:\wamp\www\tests\bonjour.php on line 9

Merci de vos réponses

fluxies
fluxies
Niveau 17
13 septembre 2015 à 10:30:27

Ca veut dire cque ca veut dire, essai d'afficher ta variable $_GET.
Honte à moi mais je n'ai jamais utilisée cette globale, tu es sur qu'elle est pour les paramètres de l'url, ca me semble logique mais sait-on jamais.
Bref var_dump($_GET)

Chocolayte
Chocolayte
Niveau 73
13 septembre 2015 à 11:56:05

Il enlève les variables de l'URL et sa page n'affiche aucune erreur. C'est tout.
Mais je ne crois pas que ce soit censé créer une erreur. Pour la sécurité de ton site, tu dois vérifier que les variables ne sont pas vides avec la fonction empty() normalement (tu peux aussi vérifier qu'elles existent avec la fonction isset(), tu trouveras des informations dessus en cherchant sur google)

Pour la sécurité, renseigne toi aussi sur l'utilité de la fonction htmlspecialchars() , pour éviter les failles xss, elle est très importante

Message édité le 13 septembre 2015 à 11:56:56 par Chocolayte
patchwerk
patchwerk
Niveau 19
13 septembre 2015 à 14:16:12

si tu vire les param la var $_GET['tonparam'] n'existe pas donc pas d'erreur.

Le mieux à faire c'est de vérifier qu'elle existe avec isset() comme dit plus haut. Du coup si tu set une var avec la valeur du get, si le params n'existe pas, du coup la var non plus et du coup tu auras l'erreur que tu attendais.

patchwerk
patchwerk
Niveau 19
13 septembre 2015 à 14:18:53

Après pour sécuriser ce genre de page le mieux à faire c'est d'établir un formulaire de connection (login) et tu met ces var en session (jette un œil sur $_SESSION)

boss_power
boss_power
Niveau 6
13 septembre 2015 à 15:07:18

Ben j'ai juste vu sur openclassroom sur le cours php de M@teo21 que c'est supposé afficher une erreur

Chocolayte
Chocolayte
Niveau 73
13 septembre 2015 à 22:41:29

J'ai essayé sur wamp et j'avais pas d'erreur
J'ai essayé sur mon serveur et j'avais Notice: Undefined index: nom in /var/www/index.php on line 29

Donc effectivement, c'est censé générer une erreur, mes excuses. Le problème doit donc venir de ta configuration d'apache (que ce soit sur wamp ou sur ton serveur personnel). On peut décider d'afficher des erreurs, ou non, avec php.

A partir de là, t'as deux solutions :

1/ Soit tu affiches les lignes suivantes tout en haut de ton fichier, à la première ligne, et ça t'affichera un truc en cas d'erreur sur ce fichier en particulier:


<?php 
  error_reporting(E_ALL);
  ini_set('display_errors', 1); 
?>

<?php 
  // Mon code
  echo "Mon nom est ".$_GET['nom'];
?>

2/ Soit tu configures apache correctement pour qu'il t'affiche systématiquement les erreurs, sur toutes tes pages (c'est peut-être mieux pour du wamp). Mais faut regarder comment faire sur google, y'a des fichiers à configurer et je ne maîtrise pas particulièrement.

Message édité le 13 septembre 2015 à 22:43:10 par Chocolayte
boss_power
boss_power
Niveau 6
14 septembre 2015 à 01:43:13

Effectivement, parfois je comprends meme pas ce qu'il fait

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