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

JavaScript Discussion :

S�curit� de javascript (ajax, framework)


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Homme Profil pro
    d�veloppeur
    Inscrit en
    Octobre 2004
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : d�veloppeur
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 481
    Par d�faut S�curit� de javascript (ajax, framework)
    Bonjour,

    J'ai souvenir qu'il y a quelques ann�es, il �tait fortement conseill� de d�sactiver javascript lorsqu'on naviguait pour des raisons de s�curit�.

    Puis javascript est revenu en force avec la red�couverte de XMLHttpRequest.
    Sont apparus alors ajax et de nombreux framework.
    Et le probl�me de s�curit� semblait avoir disparu (en tout cas, je n'en ai jamais entendu parler quant aux avantages des framework...)

    Avec la toute r�cente alerte de s�curit� d'IE, on nous conseille � nouveau de d�sactiver javascript.

    Ma question donc :

    le principe d'ajax est-il s�r ?
    peut-on faire confiance aux framework javascript ?

  2. #2
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Bonjour,
    un article sur la s�curit� web en g�n�ral t'aidera peut �tre � te faire une id�e ...

    A+

  3. #3
    Membre �clair�
    Homme Profil pro
    d�veloppeur
    Inscrit en
    Octobre 2004
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : d�veloppeur
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 481
    Par d�faut
    Des extraits de l'article :

    Ne transf�rez pas de logique chez le client, car il peut en faire ce qu'il veut. Ainsi, �vitez une logique m�tier dans du Javascript, de nombreuses astuces permettent de la d�tourner. Un appel Ajax doit chercher des donn�es sur le serveur, et on ne doit pas it�rer un objet au format JSON post� sur le client.
    De la m�me mani�re, utilisez le client pour valider les donn�es est totalement hors sujet. Utiliser javascript pour valider un formulaire ne sert strictement � rien. Cette �tape doit �tre assur�e par le serveur. Qui dit que javascript est activ� ? Qui dit que le client est un navigateur web qui affiche une page ? Personnellement en quelques temps je cr�e une application PHP qui peut requ�ter une page tierce, et lui renvoyer des donn�es, que je peux manipuler...


    Bon, ben les framework javascript, �a sert � rien alors ?
    Ou en tout cas, de nombreuses fonctionnalit�s sont inutiles, voire � proscrire du point de vue de la s�curit�...

  4. #4
    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
    Salut.

    La probl�matique n'a rien � voir avec JavaScript, AJAX ou les biblioth�ques existantes mais avec l'utilisation que l'on en fait.
    Si on prend l'exemple d'une page d'inscription � un site, que la demande soit envoy�e par AJAX apr�s v�rifications JavaScript ou via une validation de formulaire revient strictement au m�me et doit aboutir � la m�me logique cot� serveur : la v�rification syst�matique des donn�es re�ues, selon le bon vieux principe de "Never Trust User Input" (ne jamais faire confiance aux donn�es utilisateur).

    Maintenant, c'est s�r que si tu v�rifies cot� client qu'un mot de passe correspond � l'acc�s admin de ton site...
    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

  5. #5
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Citation Envoy� par senacle Voir le message
    Un des extraits de l'article :

    Ne transf�rez pas de logique chez le client, car il peut en faire ce qu'il veut. Ainsi, �vitez une logique m�tier dans du Javascript, de nombreuses astuces permettent de la d�tourner. Un appel Ajax doit chercher des donn�es sur le serveur, et on ne doit pas it�rer un objet au format JSON post� sur le client.
    De la m�me mani�re, utilisez le client pour valider les donn�es est totalement hors sujet. Utiliser javascript pour valider un formulaire ne sert strictement � rien. Cette �tape doit �tre assur�e par le serveur. Qui dit que javascript est activ� ? Qui dit que le client est un navigateur web qui affiche une page ? Personnellement en quelques temps je cr�e une application PHP qui peut requ�ter une page tierce, et lui renvoyer des donn�es, que je peux manipuler...



    Bon, ben les framework javascript, �a sert � rien alors ?
    Ou en tout cas, de nombreuses fonctionnalit�s sont inutiles, voire � proscrire du point de vue de la s�curit�...
    Une nuance � mettre ici, quand m�me ^^

    >>> faire reposer le contr�le des donn�es entrantes sur le code JS client est effectivement mauvais du point de vue s�curit�, on est bien d'accord.

    >>> par contre, dire "�a ne sert strictement � rien" est faux. Cela sert, comme tout JS pr�sent sur une page, � proposer � ceux qui le veulent (en l'occurrence : ceux qui ont activ� leur JS) un confort suppl�mentaire gr�ce � certaines pr�-v�rifications (formats notamment). Ce n'est pas de la s�curit�, c'est de l'ergonomie.

    Tout �a pour dire que la question n'est pas "Faut-il contr�ler c�t� client OU c�t� serveur ?", car l'un n'emp�che pas l'autre, ces deux types de contr�les n'ayant pas du tout les m�mes objectifs.

  6. #6
    Membre �clair�
    Homme Profil pro
    d�veloppeur
    Inscrit en
    Octobre 2004
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : d�veloppeur
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 481
    Par d�faut
    Citation Envoy� par RomainVALERI Voir le message
    Une nuance � mettre ici, quand m�me ^^

    >>> faire reposer le contr�le des donn�es entrantes sur le code JS client est effectivement mauvais du point de vue s�curit�, on est bien d'accord.

    >>> par contre, dire "�a ne sert strictement � rien" est faux. Cela sert, comme tout JS pr�sent sur une page, � proposer � ceux qui le veulent (en l'occurrence : ceux qui ont activ� leur JS) un confort suppl�mentaire gr�ce � certaines pr�-v�rifications (formats notamment). Ce n'est pas de la s�curit�, c'est de l'ergonomie.
    Effectivement, je crois qu'il faut prendre les framework javascript pour le c�t� ergonomie

    Citation Envoy� par RomainVALERI Voir le message
    Tout �a pour dire que la question n'est pas "Faut-il contr�ler c�t� client OU c�t� serveur ?", car l'un n'emp�che pas l'autre, ces deux types de contr�les n'ayant pas du tout les m�mes objectifs.
    Pour ma part, je le fais des deux c�t�s, en tout cas pour ce qui concerne le format des donn�es (un nombre de 5 chiffres ou une adresse courriel par exemple).

    Citation Envoy� par Bovino Voir le message
    Maintenant, c'est s�r que si tu v�rifies cot� client qu'un mot de passe correspond � l'acc�s admin de ton site...
    Mais bien s�r je ne v�rifie pas la valeur de la donn�e c�t� client (donc javascript), mais c�t� serveur (php, python,...).

  7. #7
    Membre �clair�
    Homme Profil pro
    d�veloppeur
    Inscrit en
    Octobre 2004
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : d�veloppeur
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 481
    Par d�faut
    Citation Envoy� par Bovino Voir le message
    La probl�matique n'a rien � voir avec JavaScript, AJAX ou les biblioth�ques existantes mais avec l'utilisation que l'on en fait.
    Autre extrait de l'article :

    Il y a 3 types d'attaques XSS diff�rents, mais qui fonctionnent globalement tous de la m�me mani�re : un code
    javascript malicieux est execut� dans l'environnement local de la victime, le plus souvent � son insu, permettant de
    r�cup�rer ses informations de connexion, ou d'�xecuter des scripts locaux avec ses droits.
    La plupart des navigateurs modernes poss�dent javascript d'activ� nativement, et la plupart des sites web modernes
    acceptent que l'utilisateur puisse mettre en forme un texte avant de l'envoyer, avec diverses balises. Ce sont les 2
    causes majeures de la prolif�ration des failles XSS sur Internet.
    Google y a eu droit, Yahoo aussi, Myspace, etc....

    (...)

    Si on veut �tre s�r � 100% de ne pas �tre vuln�rable au XSS en tant que client, on d�sactivera Javascript. Mais on
    risque alors de ne plus pouvoir profiter d'un grand nombre de site �stampill�s "web2.0", qui utilisent abondamment
    javascript.


    Pour qu'un framework javascript fonctionne, il faut bien s�r que javascript soit activ�...et donc l'application web est fragilis�e.

  8. #8
    Membre �clair�
    Homme Profil pro
    d�veloppeur
    Inscrit en
    Octobre 2004
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : d�veloppeur
    Secteur : Administration - Collectivit� locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 481
    Par d�faut
    Les ann�es sont pass�es, les Framework ont �volu�, les navigateurs aussi, mais les principes restent les m�mes :

    les frameworks permettent d'avoir une bonne ergonomie
    v�rifier syst�matiquement c�t� serveur les donn�es arrivant du client

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [FAQ] Relecture des FAQ JavaScript, AJAX et Frameworks - automne 2012
    Par vermine dans le forum Contributions JavaScript / AJAX
    R�ponses: 60
    Dernier message: 07/07/2014, 08h45
  2. Javascript, AJAX, eval et s�curit�
    Par ZeroDivide dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 21/10/2011, 18h13
  3. [AJAX] Ajax, formulaire, div et select
    Par n8ken dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 23/09/2006, 10h51

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