Tu confonds POST et GET là. L'exemple que tu montre c'est GET : les données sont envoyés via l'URL. En POST les données sont envoyés « cachées » via une 2ème requête HTTP.
Donc dans ton cas il faut utiliser POST et non GET.
À une époque pas si lointaine certains serveurs Web permettaient de traiter les POST comme des GET puisqu'ici on aurait pu accéder aux numéros par de simples accès aux variables $client et $compte. Souvenez les variables globales... J'en ai froid dans le dos :)
Surfoo wrote:
Tu confonds POST et GET là.
L'exemple que tu montre c'est GET : les données sont envoyés via
l'URL. En POST les données sont envoyés « cachées » via une 2ème
requête HTTP.
Donc dans ton cas il faut utiliser POST et non GET.
À une époque pas si lointaine certains serveurs Web permettaient de traiter
les POST comme des GET puisqu'ici on aurait pu accéder aux numéros par de
simples accès aux variables $client et $compte. Souvenez les variables
globales... J'en ai froid dans le dos :)
Tu confonds POST et GET là. L'exemple que tu montre c'est GET : les données sont envoyés via l'URL. En POST les données sont envoyés « cachées » via une 2ème requête HTTP.
Donc dans ton cas il faut utiliser POST et non GET.
À une époque pas si lointaine certains serveurs Web permettaient de traiter les POST comme des GET puisqu'ici on aurait pu accéder aux numéros par de simples accès aux variables $client et $compte. Souvenez les variables globales... J'en ai froid dans le dos :)
Jean-Marc Molina
geo75 wrote:
Je me posais une question sur la sécurité dans les scripts PHP,
Comment faire pour sécuriser les acces a la base de données ?
en effet meme avec post on arrive a lire les variables.
si j'envoi en post dans mon script
fiche_info.php?client0&compte
comment puis je empecher celui ci puisse par exemple remplacer simplement par fiche_info.php?client1&compte ou 122
En plus de l'authentification il faut aussi valider les paramètres qui sont passés à un script via l'URL. Ici bien vérifier que "client" et "compte" sont des numériques, à l'aide de la fonction "is_numeric" par exemple. Pour d'autres types de données il faut passer par les autres fonctions "is_" ou valider une valeur contre une expression régulière ("/[0-9]+/"...).
Cette technique de validation des paramètres d'une URL s'applique aussi aux fonctions, aux données en provenance d'un formulaire (passées en POST ou en GET peu importe)... J'insiste sur le fait que toutes les données doivent être contrôlées et validées, aucune exception en matière de sécurité. L'un des risques pour la BDD c'est de se prendre de belles injections SQL à base de DELETE et autres abominations. Un autre classique est d'inclure un script nommé à partir de la valeur d'un paramètre : <?php include ("client_$client.php") ?>... Les idées ne manquent pas :|
D'après ton exemple si il s'agit de développer un espace sécurisé pour des clients, je te recommande plutôt d'opter pour une solution pro (script pro, composant d'authentification d'un CMS, forum comme phpBB...). La sécurité n'est pas à prendre à la légère, surtout quand on est pas expert dans le domaine. Vérifier aussi que ton hébergeur supporte SSL pour que les données transitant entre les clients et les serveurs sont cryptées. Mais que cela ne t'empêche pas d'en apprendre plus sur le sujet en testant tout ça dans ton coin.
geo75 wrote:
Je me posais une question sur la sécurité dans les scripts PHP,
Comment faire pour sécuriser les acces a la base de données ?
en effet meme avec post on arrive a lire les variables.
si j'envoi en post dans mon script
fiche_info.php?client0&compte
comment puis je empecher celui ci puisse par exemple remplacer
simplement par fiche_info.php?client1&compte
ou 122
En plus de l'authentification il faut aussi valider les paramètres qui sont
passés à un script via l'URL. Ici bien vérifier que "client" et "compte"
sont des numériques, à l'aide de la fonction "is_numeric" par exemple. Pour
d'autres types de données il faut passer par les autres fonctions "is_" ou
valider une valeur contre une expression régulière ("/[0-9]+/"...).
Cette technique de validation des paramètres d'une URL s'applique aussi aux
fonctions, aux données en provenance d'un formulaire (passées en POST ou en
GET peu importe)... J'insiste sur le fait que toutes les données doivent
être contrôlées et validées, aucune exception en matière de sécurité. L'un
des risques pour la BDD c'est de se prendre de belles injections SQL à base
de DELETE et autres abominations. Un autre classique est d'inclure un script
nommé à partir de la valeur d'un paramètre : <?php include
("client_$client.php") ?>... Les idées ne manquent pas :|
D'après ton exemple si il s'agit de développer un espace sécurisé pour des
clients, je te recommande plutôt d'opter pour une solution pro (script pro,
composant d'authentification d'un CMS, forum comme phpBB...). La sécurité
n'est pas à prendre à la légère, surtout quand on est pas expert dans le
domaine. Vérifier aussi que ton hébergeur supporte SSL pour que les données
transitant entre les clients et les serveurs sont cryptées. Mais que cela ne
t'empêche pas d'en apprendre plus sur le sujet en testant tout ça dans ton
coin.
Je me posais une question sur la sécurité dans les scripts PHP,
Comment faire pour sécuriser les acces a la base de données ?
en effet meme avec post on arrive a lire les variables.
si j'envoi en post dans mon script
fiche_info.php?client0&compte
comment puis je empecher celui ci puisse par exemple remplacer simplement par fiche_info.php?client1&compte ou 122
En plus de l'authentification il faut aussi valider les paramètres qui sont passés à un script via l'URL. Ici bien vérifier que "client" et "compte" sont des numériques, à l'aide de la fonction "is_numeric" par exemple. Pour d'autres types de données il faut passer par les autres fonctions "is_" ou valider une valeur contre une expression régulière ("/[0-9]+/"...).
Cette technique de validation des paramètres d'une URL s'applique aussi aux fonctions, aux données en provenance d'un formulaire (passées en POST ou en GET peu importe)... J'insiste sur le fait que toutes les données doivent être contrôlées et validées, aucune exception en matière de sécurité. L'un des risques pour la BDD c'est de se prendre de belles injections SQL à base de DELETE et autres abominations. Un autre classique est d'inclure un script nommé à partir de la valeur d'un paramètre : <?php include ("client_$client.php") ?>... Les idées ne manquent pas :|
D'après ton exemple si il s'agit de développer un espace sécurisé pour des clients, je te recommande plutôt d'opter pour une solution pro (script pro, composant d'authentification d'un CMS, forum comme phpBB...). La sécurité n'est pas à prendre à la légère, surtout quand on est pas expert dans le domaine. Vérifier aussi que ton hébergeur supporte SSL pour que les données transitant entre les clients et les serveurs sont cryptées. Mais que cela ne t'empêche pas d'en apprendre plus sur le sujet en testant tout ça dans ton coin.