Résolu Question sécurité...

Solutions (8)
Tags :
  • Action
  • Sécurité
  • Programmation
|
Bonjour,

J'ai une question qui me trotte dans la tête depuis un moment et je n'ai jamais vraiment testé pour en avoir le coeur net. Je m'explique:

J'ai un formulaire, on va faire simple avec un seul champ:

  1. <form method="post" action="execution.php">
  2. <input type="text" name="pseudo" maxlength="20" />
  3. <input type="submit" value="Valider" />
  4. </form>


Jusque là rien d'anormal. Maintenant imaginons que j'ai un autre FTP et que je crée le même formulaire, hormis le fais que, le maxlength soit à 30 et que l'action ne soit plus un lien relatif, mais un lien absolu qui redirige vers le meme fichier php... le maxlength 20 deviendra alors 30, si aucune restriction n'est fais du coté de php?
Contenus similaires
Meilleure solution
partage
|
Le plus simple à mon avis est de générer le formulaire et la vérification à partir des mêmes données:
  1. $pays = array('France', 'Belgique', 'Suisse', 'Luxembourg');
  2.  
  3. // Génération du formulaire
  4. foreach($pays as $val) {
  5. echo '<option value="'.$val.'">'.$val.'</option>'.chr(13).chr(10);
  6. }
  7.  
  8. // Vérification des données
  9. if (!in_array($_POST['pays'], $pays)) {
  10. // ERREUR
  11. } else {
  12. // C'est bon
  13. }


PS: ta syntaxe de vérification n'est pas bonne:
  1. if ($_POST['pays']!='valeur1' || $_POST['pays']!='valeur2')
  • Commenter cette solution |
Score
0
òh
òi
|
Ah oui pas fais gaff à la signature...
J'avais utiliser ce serveur, il y a longtemps (je sais plus pourquoi) :) 

Bref, merci encore!
  • Commenter cette réponse |
Score
0
òh
òi
|
un serveur IRC ? C'est fort possible, voir le premier lien dans ma signature :) 
  • Commenter cette réponse |
Score
0
òh
òi
|
Ca marche nikel en créant un tableau (array)

Merci crazycat (ton pseudo me fais penser à un serveur IRC, possible?)
  • Commenter cette réponse |
Score
0
òh
òi
|
Oui les value...
Rahhh c'est assez embêtant ça!

Comment vérifier que "les value" sont bien celles de mon formulaire?

Edit: Je pense avoir trouvé...

Exemple pour le <select> d'un pays avec 2 <option>:

  1. if ($_POST['pays'] != "Valeur1" OR "Valeur2") {
  2. ...


Ca suffit comme vérification?
  • Commenter cette réponse |
Score
0
òh
òi
|
Qu'appelles tu "les valeurs d'insertion" ? les value="" des champs de formulaire ? Avec firebug sans souci, d'où l'importance de faire de très bonnes vérifications côté serveur.
  • Commenter cette réponse |
Score
0
òh
òi
|
Ok, donc c'est pareil avec les valeur d'un select, checkbox, radio...
On peut donc changer les valeurs d'insertion?
  • Commenter cette réponse |
Score
0
òh
òi
|
Tout à fait.
De toutes manières, il ne faut aucunement faire confiance aux restrictions html ou javascript, mais toujours avoir des vérifications PHP.

Je ne veux pas t'effrayer, mais ce n'est même pas la peine de faire une copie du formulaire pour passer outre, un simple coup de firebug permet à un utilisateur de le modifier très rapidement.
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS