|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : août 2007 Messages : 41 ![]() |
Salut,
J'utilise un formulaire avec la méthode GET et je me demandais ce qu'il ne fallait surtout pas oublier pour sécuriser l'inscription des données et l'affichage des résultats. J'ai déja un parcouru les forums mais je n'ai pas envie de prendre de risques... Merci d'avance! |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Franck Développeur Web indépendant Inscription : avril 2007 Messages : 678 ![]() |
bonsoir,
Tout dépend des donnés qui transitent par le get. Dans un premier temps, pour sécurisé un peu plus ("j'ai bien dit un peu") le mieux est de passer par la méthode post. Sont-elles destinées à une base de données?? ++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle |
|
00
|
|
|
#3 |
![]() ![]() Inscription : janvier 2003 Messages : 2 018 ![]() |
Bonjour,
En général on utilise la méthode POST dans les formulaires et GET dans les URLs.
__________________
N1bus Modérateur Web / PHP Aucune demande technique ne sera traitée par MP . Merci PHP/GD : Génération d'un code-barre Code 39 FCKEditor : Modifier la largeur des listes déroulantes PHP/e-Commerce : Installation d'une solution de paiement en ligne SIPS-ATOS |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : août 2007 Messages : 41 ![]() |
Le problème c'est qu'avec mon formulaire en POST, je ne parviens pas à récupérer mes variables de pages en pages, donc j'ai opté pour le GET avec lequel je récupère tout via l'URL. Mais... c'est vraiment moins bien que POST ?
|
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : janvier 2003 Messages : 2 018 ![]() |
Sans doute parce qu'en POST tu récupères tes variables directement, or il faut utiliser la superglobale $_POST :
Encore un article à lire ici
__________________
N1bus Modérateur Web / PHP Aucune demande technique ne sera traitée par MP . Merci PHP/GD : Génération d'un code-barre Code 39 FCKEditor : Modifier la largeur des listes déroulantes PHP/e-Commerce : Installation d'une solution de paiement en ligne SIPS-ATOS |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : août 2007 Messages : 41 ![]() |
Ok merci bien je vais aller lire ça, juste une question : j'ai lu que les superglobales n'étaient pas forcément activées dans le php et qu'elles posaient parfois des problèmes de sécurité c'est vrai ?
|
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : janvier 2003 Messages : 2 018 ![]() |
$_POST, $_GET, $_FILE et de nombreuses autres sont présentes depuis PHP version 4.1.0
Pour la sécurité, la directive register_globals devrait être à OFF (c'est à OFF par défaut depuis PHP 4.2.0 ) et tu devrais donc utiliser les superglobales ci-dessus. Voir dans la DOC PHP -> Variables prédéfinies
__________________
N1bus Modérateur Web / PHP Aucune demande technique ne sera traitée par MP . Merci PHP/GD : Génération d'un code-barre Code 39 FCKEditor : Modifier la largeur des listes déroulantes PHP/e-Commerce : Installation d'une solution de paiement en ligne SIPS-ATOS |
|
|
00
|
|
|
#8 | ||
|
Membre émérite
![]() Franck Développeur Web indépendant Inscription : avril 2007 Messages : 678 ![]() |
bonjour,
D'ailleurs un petit conseil si tu as ton register_globals à ON, n'appels jamais des variables de type différent du même nom. exemple: Code :
++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle |
||
|
00
|
|
|
#9 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
De toute façon, quelle que soit la méthode utilisée pour récupérer des infos utilisateur (POST, GET, COOKIES...), il faut considérer qu'elles sont potentiellement corrompues et dangereuses. La méthode ne change rien à l'affaire : tu peux pirater un POST (presque) aussi facilement qu'un GET.
A faire donc : contrôler systématiquement toute donnée utilisateur (présence, format, taille, caractères...). Toujours échapper les valeurs avant enregistrement en bdd pour éviter l'injection SQL (par exemple avec mysql_real_escape_string() pour mysql). Toujours échapper les valeurs avant affichage, notamment pour réafficher le contenu d'un formulaire, par exemple après erreur (avec htmlentities() par exemple). Dernière chose : les sessions sont à mon avis beaucoup plus efficaces pour un formulaire de plusieurs pages. En effet, tu n'as pas besoin avec elles de valider l'ensemble des données à chaque page, mais uniquement celles qui viennent d'être postées. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com