IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Sécurité des inputs


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 69
    Par défaut Sécurité des inputs
    Bonjour a tous,

    Sur StackOverflow (http://stackoverflow.com/questions/1...-limit-in-html) j'ai trouve une demande comment limiter le nombre de charactere dans un input.

    Parmi, les reponses, une personne lui a suggere d'utiliser le "maxlength"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" id="Textbox" name="Textbox" maxlength="10" />
    Mais il a ajoute que c'etait un combat perdu d'avance que de mettre des checks cote client et qu'il valait mieux mettre un script cote serveur.

    "But anyway, there is no good solution. You can not adapt to every client's bad HTML implementation, it's an impossible fight to win."

    Je ne comprends pas pourquoi en quoi il y a un risque de securite : Aucun script ne s'ecrit en 10 characteres ?

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ce n'est pas une question qu'un script s'écrive en 10 caractères, c'est surtout que n'importe quel apprenti muni d'un débogueur (donc en pratique d'un navigateur...) peux supprimer cette contrainte en deux clics !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Tu as la main sur tout ce qui s'exécute côté client. Le HTML s'affiche côté client, donc tu peux le modifier à souhait (et changer la valeur du maxlength ou simplement le virer par exemple).

    Citation Envoyé par Bovino Voir le message
    n'importe quel apprenti
    Visiblement non.

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 69
    Par défaut
    Mais je ne comprends pas :

    Si on peut modifier tout ce qui est cote client, cela veut dire que tous mes scripts javascript peuvent aussi subir une modification ?

    peut-etre betement, je croyais qu'une page web chargeais ce qu'elle avait sur le serveur et non pas la page affichee que l'on pourrait avoir sur firebug par exempe...

    Je sais que c'est pas clair, mais l'info n'est pas ma formation :

    en gros si j'ai un formulaire en html avec un javascript qui "protege" l'entree de ce formulaire, cela ne sert a rien ? Je pensais que ce qui etait "lu" par le navigateur etait l'information .html .js .php qui etait sauvegardee sur le serveur et non pas celle que l'on pouvait modifier en live.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Je comprends pas trop la question... mais une fois que la page est chargée, c'est l'environnement du navigateur (donc de l'utilisateur) qui la gère et l'utilisateur peut modifier tout ce qu'il veut, y compris les types de champs et leurs valeurs.
    Toutes les vérifications et autres agréments côté client (donc en JavaScript) ne sont là que pour aider les utilisateurs bien intentionnés, les autres pourront facilement contourner les limitations imposées par le développeur. C'est pour cela que toutes les vérifications de validité doivent être faites côté serveur !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Le PHP est un langage serveur et est donc interprété par ce dernier. Il n'est pas exécuté par le navigateur qui est le client. Le JavaScript lui, s'exécute côté client donc par le navigateur. Et si c'est le navigateur qui l'exécute, tu peux donc le modifier (notamment avec Firebug). Le CSS c'est pareil que pour le JavaScript, c'est le navigateur qui l’interprète.

    Le PHP permet de générer, construire, une page Web HTML (également interprété par le navigateur) qui utilise le CSS pour le côté visuel et le JavaScript pour le côté interactivité.

    En partant de ce postulat, il est évident que tout ce qui touche HTML, CSS et JavaScript, tout peut être modifié par le client. Seul le PHP à la peau sauve du fait qu'il s'exécute sur le serveur pour lequel le navigateur n'a pas accès, bien évidemment.

    Est-ce plus clair ?
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    rien à ajouter mais j'insisterais quand même sur
    Citation Envoyé par Bovino
    C'est pour cela que toutes les vérifications de validité doivent être faites côté serveur !

Discussions similaires

  1. [Sécurité] Sécurité des sessions
    Par nerik38 dans le forum Langage
    Réponses: 2
    Dernier message: 01/12/2005, 14h41
  2. [ACCESS97] Sécurité des applications
    Par mpascolo dans le forum Sécurité
    Réponses: 5
    Dernier message: 26/10/2005, 15h02
  3. Saisie rapide - Enchainement des inputs automatique
    Par Johnbob dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 13/10/2005, 19h26
  4. [Débutant] Différencier des inputs
    Par Pymm dans le forum ASP
    Réponses: 5
    Dernier message: 28/01/2005, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo