Securité de hidden???

steph59219 -  
 le père -
Bonjour,
je code un site en php et j utilise parfois des formulaire comme par exemple pour ajouter un commentaire a un article bien précis par exemple j utilise hidden pour envoyer l id de l article sur lequel doit s ajouter ce commentaire
pour en venir au fait simplement en me promenant sur le net l autre soir j ai découvert un logiciel de développement que je ne pourrais plus cité, bref celui ci permettais des tas de choses pour le moins interéssantes mais j ai decouvert horrifié qu il est possible avec ce logiciel de reinterpreté la page html en ligne :o en changean quelque petits truc qui peuvent faire un bordel monstre exemple transformer le type hidden en text pui la personne n a plus qu a s amusé a écrire un chiffre enorme puis plus rien ne marche ou pire ecrire des mot a la place des chiffre :s d identifiant bref que faire qui a une idée rassurante permetant de securisé ce genre de truc sans passé par un truc du genre" je vérifie que l id du hidden existe bien sur la base avn chaque commentaire ce qui ferais tout refaire ou bien verification de ce type a moins que ca ne soi l unique moyen en tout cas éclairaient moi (a)

1 réponse

le père
 
Bonjour

Le champ hidden n'a jamais servi à assurer une quelconque sécurité. Si tu l'as cru tu t'es trompé. C'est juste un moyen pratique de transmettre des informations d'une page à une autre. N'importe qui peut en lire le contenu en regardant le code source de la page, tous les navigateurs offrent cette fonction. Modifier la valeur d'un champ hidden ne demande pas de grandes compétences,
Toutes les données qui viennent de l'extérieur (GET, POST ou COOKIES) DOIVENT être contrôlées avant d'être prises en compte. Comment et jusqu'à quel point ? Ça dépend entièrement de ton application. Personnellement, sur une application 'normale', je vérifie :
. que les champs qui ne doivent pas être vides sont bien remplis
. que les nombres sont bien ... numériques et compris entre des bornes raisonnables
. que les identifiants existent bien

Et même si tu fais des vérifications en javascript dans ton formulaire, il FAUT toutes les faire à la réception de données côté serveur (PHP ou autre).
0