Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2011, 11h11   #1
Nouveau Membre du Club
 
Inscription : juillet 2008
Messages : 138
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 138
Points : 29
Points : 29
Par défaut Questions à propos des Notices de php

Bonjour à tous,

Je travail actuellement sur le developpement d'un site html/php/Mysql/JS et flash. J'utilise le bien connu wampserver et celui me fait apparaitre des notices d'avertissements.

J'ai d'abord pesté en pensant que ces notices m'empechaient d'avancer mais j'ai compris qu'il s'agissait de faire apparaître des failles éventuelles.

J'ai donc compris comment corriger mais erreurs mais j'aimerais comprendre pourquoi telles ou telles syntaxes sont plus sécuritaires que d'autres. Voilà les cas que j'ai rencontré :


$client[nom] corrigé en $client['nom']

Pourquoi doit-on mettre les guillemets ? Est-ce plus sécuritaire ?

Code :
if($login == ""){echo "erreur";} corrigé en if(isset($login) && $login == ""){echo "erreur";}
La notice met en evidence que la varibale $login n'existe pas, il faut alors changer la condition en demandant, en plus, SI la variable existe. Pourquoi ?

Merci pour vos lumières

-Vincent
vinze60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 11h22   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
c'est pas une question de sécurité mais de bonne pratique, le PHP à évoluer, mais à garder certaines anciennes syntaxes/pratiques pour la compatibilité.

pour : $client[nom]
nom peu est considéré comme une constante.

pour : if($login == ""){echo "erreur";}
tu vas tester une valeur qui n'exige peu être pas
pour ça reviens a poser une question type : Quel est l'age du capitaine ?


c'est très important de travailler avec le mode d'erreur le plus haut : E_ALL | E_STRICT

sinon un empty suffis a la place du isset
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/01/2011, 11h41   #3
Nouveau Membre du Club
 
Inscription : juillet 2008
Messages : 138
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 138
Points : 29
Points : 29
Merci beaucoup
vinze60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h15.


 
 
 
 
Partenaires

Hébergement Web