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

Sécurité Discussion :

Controler l'éxécution de scripts JS en fonction du domaine


Sujet :

Sécurité

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Par défaut Controler l'éxécution de scripts JS en fonction du domaine
    Bonjour,
    J'aimerais mettre à disposition une API JavaScript à une liste définie de domaines (des clients). Un peu comme Google. Mon objectif est de contrôler la liste des sites qui utilise ce JS et l'ensemble des fichiers qu'exploite cette API (des images).

    Pas trop d'idée sur la technique à employer. Avez-vous quelques pistes?
    Y'a-t-il un paramétrage du côté de mon serveur (hébergement des fichiers sur un serveur apache) ou faut-il obligatoirement utiliser du langage serveur?

    Merci pour votre aide

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Savoir ou faire le paramétrage c'est déjà connaître la solution...

    Si j'ai bien compris, les fichiers .js restent sur tes serveurs et ils sont appelés dans le code HTML (http://tonsite.com/tonfichier.js) renvoyé par les pages du partenaire, c'est ça ?

    Pas trop d'idée non plus, je doute même que ce soit faisable facilement. Y a toujours la possibilité de vérifier le referrer (par configuration Apache par exemple) mais c'est délicat et surtout non fiable car certains navigateurs (IE par exemple) et proxies bloquent le referrer et ne l'envoient pas.

    Y aurait peut-être une solution par "clé partagée" mais ça devient super usine à gaz et super pas évident à mettre en place : le site partenaire, au moment de générer le bout de code HTML qui appelle tes fichiers fait une requête sur l'un de tes serveurs pour récupérer une clé. Le site partenaire ajoute alors la clé dans l'URL qui pointe vers tes fichiers. Le client récupère le code HTML et fait les requêtes qui vont bien sur ton site. Ton serveur récupère donc la clé dans l'URL et vérifie qu'il s'agit d'une clé valide et renvoie l'objet. S'il s'agit d'une clé qui n'existe pas ou qui a déjà été utilisée une fois, l'objet n'est pas renvoyé. Avec ça, il faut en plus gérer le cache, les pbs de sécurité JavaScript car le code JavaScript provient d'un autre domaine que le site affiché, etc...

  3. #3
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Par défaut
    Oui tu as bien pigé. Merci beaucoup pour la réponse et la piste. Je vais creuser dans ce sens.

    Quand je regarde par exemple la Google Maps API, je vois qu'ils utilisent une solution avec une clef fixe. Tu déclares le domaine lors de ton inscription et Google te donne une clef à rajouter dans l'URL de l'include js. Ca semble un poil plus simple que ce que tu expliques. Sans langage serveur à coller sur le doamine en question. Mais je vois toujours pas comment ils peuvent faire.

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Oui, tu peux fonctionner par clé fixe aussi mais dans ce cas, pour mon site, je reprends la clé fixe de quelqu'un d'autre et hop, j'utilise Google Maps sans être inscrit. Ce qui peut aider quand même dans ce cas à détecter les fraudes c'est qu'il y aura quand même dans le lot des navigateurs qui passent sur mon site quelques uns qui renverront un Referer et donc il y aura une trace de temps en temps qui montrera que mon site utilise frauduleusement ta clé.

  5. #5
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 7
    Par défaut
    Ben le truc qui me chiffonne c'est que si tu fais ça, on aura toujours un alert pour nous dire qu'on ne peut pas consulter ta Google Maps car tu n'utilises pas la bonne clef...Et ça même si l'http-referer n'est pas envoyé par le navigateur

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Excuse-moi mais je n'ai pas compris ce que tu voulais dire Ce que je veux dire c'est que Google doit être au courant que le Referer n'est pas une information fiable et qu'ils ont dû trouver un moyen de s'en passer.

Discussions similaires

  1. [Configuration] limite de temps pour l'éxécution de scripts via php-cli
    Par icer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 28/05/2007, 11h33
  2. executer un script php avant fonction Flash
    Par dede64 dans le forum Dynamique
    Réponses: 2
    Dernier message: 13/01/2007, 05h18
  3. Réponses: 8
    Dernier message: 24/08/2006, 21h20
  4. [Système] temps d'éxécution de script
    Par clara2005 dans le forum Langage
    Réponses: 4
    Dernier message: 28/11/2005, 12h03
  5. [GIMP] [Script-FU] Utilisation fonction gimp-curves-spline
    Par narmataru dans le forum Autres langages
    Réponses: 1
    Dernier message: 09/02/2005, 17h25

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