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 :

[AJAX] Securiser Ajax ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    495
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 495
    Par défaut [AJAX] Securiser Ajax ?
    Bonjour,

    Je cherche un moyen de securiser mes pages php / ajax..

    Elles permettent de faire beaucoup de choses sur le site sur lequel je travaille.. (ajouter des commentaires, voter, etc..)

    Et pour le moment, il n'y a que des verifications de refferer et de validité des parametres passés (on ne travaille qu'avec des entiers comme parametres)..

    Un peu leger pour garantir l'integrité du site, surtout vu la facilité de spoofer le refferer.. Donc je me demandais quels etaient vos techniques pour securiser vos fichiers php appellés depuis ajax .. ?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    495
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 495
    Par défaut
    heu.. personne n'a pensé a la securité de ses scripts ? me dites pas que je suis le seul parano, ici ?

    J'ai trouvé une technique avec des validation par chiffre aleatoire.. mais j'ai pas saisi toutes les subtilites.. comment le chiffre en question est stocké et retrouvé par exemple.. quelqu'un utilise ca ?

  3. #3
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Salut,

    Est-ce que les utilisateurs doivent s'identifier ou pas ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Par défaut
    Bonjour,

    J'interviens sur ton topic car je comptais poser la même question et cela permettra de ne pas faire de double post.

    Pour compléter la question voici ma situation :

    Sur mon site internet une carte google maps est dynamique, c'est à dire que ses points sont renseignés via un script PHP qui retourne un document XML contenant les coordonées et les descriptions des points à insérer.

    Le code JS d'initialisation de la carte fait donc un POST XHR sur une URL de mon site du style monsite.com/getPointsForMap.php&param1=toto afin de récuperer les points.

    Ce qui me dérange c'est que quiconque jette un coup d'oeil à mes JS va trouver l'url de mon script et va pouvoir l'interroger à son tour et donc exploiter mes données.

    Voilà la problématique : comment s'assurer que ce script ne peut être appellé que dans le cadre de notre site ?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Par défaut
    Citation Envoyé par vallica Voir le message
    Bonjour,

    J'interviens sur ton topic car je comptais poser la même question et cela permettra de ne pas faire de double post.

    Pour compléter la question voici ma situation :

    Sur mon site internet une carte google maps est dynamique, c'est à dire que ses points sont renseignés via un script PHP qui retourne un document XML contenant les coordonées et les descriptions des points à insérer.

    Le code JS d'initialisation de la carte fait donc un POST XHR sur une URL de mon site du style monsite.com/getPointsForMap.php&param1=toto afin de récuperer les points.

    Ce qui me dérange c'est que quiconque jette un coup d'oeil à mes JS va trouver l'url de mon script et va pouvoir l'interroger à son tour et donc exploiter mes données.

    Voilà la problématique : comment s'assurer que ce script ne peut être appellé que dans le cadre de notre site ?
    C'est absolument impossible car vu qu'on ton code javascript est lisible par tout le monde il est facile de hacker ton système.
    Tu peux limiter le problème est ne mettant pas en clair l'adresse de ta page php en faisant une fonction de codage/decodage de caractère en javascript => ça sera efficace juste contre ceux qui ne s'y connaissent rien en programmation Web

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Par défaut
    Salut,

    Merci pour ta réponse, c'est effectivement ce dont je me suis rendu compte en cherchant sur le net?

    J'ai adopté une solution visant à travailler en POST, effectuer fréquemment des vérifications basées sur les sessions et les timestamp et crypter les paramètres selon un algo maison afin de brouiller les pistes mais il est certain qu'un hacker pourra toujours trouver une parade.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut
    Citation Envoyé par zevince Voir le message
    heu.. personne n'a pensé a la securité de ses scripts ? me dites pas que je suis le seul parano, ici ?

    J'ai trouvé une technique avec des validation par chiffre aleatoire.. mais j'ai pas saisi toutes les subtilites.. comment le chiffre en question est stocké et retrouvé par exemple.. quelqu'un utilise ca ?
    Alors ca ce sont des images créent par PHP lui même, et oui, php peux créer des images grâce à sa librairie GD que pas tous les hebergeurs gèrent ... mais ca c'est uniquement une technique anti robot, il ne ralentira pas un hacker.

  8. #8
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    je m'imice dans le sujet parce que qqun m'as indiqué l'URL (je posais la même question).
    je crois que j'ai trouvé un pseudo-solution qui est à moitié de l'admin et non du pur développement.
    elle consiste à mettre en place un chiffrement symétrique (crypto), c'est à dire qui nécessite un clé => pour plus d'informations, il ne s'agit donc pas de chiffrement (déplacement de chiffre et de lettre, mais de cryptographie)
    et d'avoir cette clé au niveau du serveur
    enfait, elle se fait en cinq étapes.
    1/ Modifier son fichier de conf apache pour que ce ne soit pas l'utilisateur pas défaut qui puisse envoyer les pages HTML (en gros ne pas faire tourner apache sous www-data)
    2/ Créer un utilisateur seul permis à exécuter les scripts
    3/ Mettre un .htacess dans le dossier js permettant de dire que seul apache (l'utilisateur que vous avez définis) est le seul à pouvoir y accédez à ce dossier (pour que personne d'autre que Apache puisse les voir => pas les pirates )
    4/ Faire une fonction serveur qui chère du js chiffrer et une autre qui permet de déchiffrer les données => envoyer au script le nom d'utilisateur/mdp chiffré) + faire un fonction serveur qui déchiffre le nom d'utilisateur et l'appeller dans chaque script)
    5/ Utiliser fail2ban
    Je ne sais pas si cette solution est viable (non testé) et je voudrais savoir ce que vous en pensez,.
    Je peux formuler trois critiques :
    - Cette solution me parait faisable sur du Windows, mais je l'ai pensé pour un Unix (Linux / Solaris / BSD) okay c'est gênant pour tous les développeurs qui savent pas ce servir d'unix => mais linux, c'est très [peut être trop] facile])
    - Cette solution ne fonctionne pas sous un VPS ou serveur mutualisé
    mais bon c'est franchement la meilleure solution que j'ai trouvée (pour ne pas dire la seule)
    - Cette solution présuppose d'utiliser un générateur de flux HTML (enfin je l'ai pensée comme cela)

    Merci de votre collaboration.

Discussions similaires

  1. [AJAX] Identification Ajax Securisée
    Par redah75 dans le forum AJAX
    Réponses: 11
    Dernier message: 01/10/2010, 17h11
  2. [AJAX] Source Ajax
    Par Hesiode dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 15/03/2006, 21h04
  3. [AJAX] Affichage ajax
    Par matique dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/03/2006, 19h28
  4. [AJAX] Utilisation AJAX
    Par topolino dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/02/2006, 09h30
  5. [AJAX] Utilisation AJAX
    Par illegalsene dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/01/2006, 11h55

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