Protéger un formulaire php
Résolu
Mael687
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour !
Même s'il se peut que je sois l'auteur du millième topic sur le sujet, les résultats que j'ai trouvé sur openclassroom etc ne m'ont pas beaucoup aidé dans le sens ou les tutos font 6 pages ...
Alors voilà, j'ai un formulaire tout à fait basique d'inscription, case pseudo, mail, deux mots de passe et une de choix de couleur du background, mais on m'a informé que n'importe qui pouvait "inspecter l'élément", changer la valeur d'une couleur et valider, ainsi en rajoutant quelques scripts, je suis vulnérable !!
Voili voilou, quelqu'un pourrait m'indiquer une façon simple et claire de ne pas permettre ces contournements, j'ai entendu parler de la protection des variables avec un string (je me souviens que de ce mot :D) mais je ne sais pas ou mettre les codes, par quels valeurs remplacer "mavariable" etc... Bref, la cata !
En l'attente d'une réponse, mes salutations distinguées !
Même s'il se peut que je sois l'auteur du millième topic sur le sujet, les résultats que j'ai trouvé sur openclassroom etc ne m'ont pas beaucoup aidé dans le sens ou les tutos font 6 pages ...
Alors voilà, j'ai un formulaire tout à fait basique d'inscription, case pseudo, mail, deux mots de passe et une de choix de couleur du background, mais on m'a informé que n'importe qui pouvait "inspecter l'élément", changer la valeur d'une couleur et valider, ainsi en rajoutant quelques scripts, je suis vulnérable !!
Voili voilou, quelqu'un pourrait m'indiquer une façon simple et claire de ne pas permettre ces contournements, j'ai entendu parler de la protection des variables avec un string (je me souviens que de ce mot :D) mais je ne sais pas ou mettre les codes, par quels valeurs remplacer "mavariable" etc... Bref, la cata !
En l'attente d'une réponse, mes salutations distinguées !
A voir également:
- Protéger un formulaire php
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Proteger cellule excel - Guide
- Protéger un dossier par mot de passe - Guide
- Formulaire de reclamation instagram - Guide
2 réponses
Bonjour !
En résumé, oui, n'importe qui peut envoyer n'importe quel valeurs dans un $_GET/$_POST que ce soit un champ text, color, ou même hidden.
Toute les variables doivent donc être protégé selon ce qui tu attends.
- Pour un entier, intval effacera tout caractère non numérique (Floatval pour les virgules)
- Pour une chaîne simple, sans balise tu peut déjà applique un strip_tags, qui supprimera toutes les balises ou htmlspecialchars qui convertira les caractères spéciaux en caractère html.
- Si il y a insertion dans une base de donnée, il faut faire attention aux injections (mysql_real_escape_string ou similaire, ou requête préparé)
Et enfin, pour les valeurs spécifiques (Un code hexadécimal par exemple), tu peut vérifier via les regex.
PS : String signifie simplement chaîne de caractère
En résumé, oui, n'importe qui peut envoyer n'importe quel valeurs dans un $_GET/$_POST que ce soit un champ text, color, ou même hidden.
Toute les variables doivent donc être protégé selon ce qui tu attends.
- Pour un entier, intval effacera tout caractère non numérique (Floatval pour les virgules)
- Pour une chaîne simple, sans balise tu peut déjà applique un strip_tags, qui supprimera toutes les balises ou htmlspecialchars qui convertira les caractères spéciaux en caractère html.
- Si il y a insertion dans une base de donnée, il faut faire attention aux injections (mysql_real_escape_string ou similaire, ou requête préparé)
Et enfin, pour les valeurs spécifiques (Un code hexadécimal par exemple), tu peut vérifier via les regex.
PS : String signifie simplement chaîne de caractère
'lut, "je suis vulnérable", c'est à dire? Ton formulaire comporte un sélectionneur de couleur? Soit. Sache que n'importe qui peut changer toutes les couleurs de la page sur laquelle il se trouve via "inspecter l'élément", ou modifier manuellement les champs de ton formulaire; mais tu n'es en rien vulnérable: les changements de couleur sont temporaires et affichés uniquement la page tant qu'on ne la recharge pas. Et modifier le formulaire manuellement c'est identique à avec son clavier et sa souris "normalement".
C'est une injection ?
Comment la régler ?
Merci d'avance !
Mais Si tu rempli un champ is_admin ou type en ne te fiant qu'à un champ de type hidden, il a pu tout simplement le modifier et envoyer ce qu'il veut.