Forum Programmation.web Droits d'exécutions d'un script Javascript

Posté par (page perso) .
Tags : aucun
1
19
août
2009
Bonjour,

Ma question peut se limiter à : Comment limiter les droits d'un script Javascript exécuté dans une page HTML ?

Pour être plus précis, j'ai une page HTML banale, qui contient un < canvas >.
J'aimerai qu'un script exécuté entre une paire de balises < script > ne puisse qu'accéder à certaines fonctions précises, celles qui servent à dessiner dans un canvas, celles qui servent à faire des caculs mathématiques (Math.cos(), ...) et celles qui servent à intercepter certains événements (onmousemove, onload, onkeydown, ...).

Je ne sais pas si c'est possible, au pire je ferais une vérification manuelle dans un environnement isolé mais ca serait tellement plus pratique si ca se ferait automatiquement.

Voilà, j'ai aussi pensé à faire analyser le code avec un script mais ca me semble fragile niveau sécurité.
  • # validation coté serveur ?

    Posté par . Évalué à 2.

    il sera plus efficace de faire une validation coté serveur avant d'envoyer le script dans la page, je ne pense pas que ce soit vraiment faisable dans le navigateur (à moins de refaire un parser javascript en javascript...)
    Coté serveur il y a rhino http://www.mozilla.org/rhino/ qui est moteur javascript seul, on doit surement pouvoir hacker qqe chose pour vérifier si certaines fonctions ne sont pas appelées. Il y a aussi JE http://search.cpan.org/~sprout/JE-0.033/lib/JE.pm pour parser le javascript en Perl, je pense qu'on doit pouvoir ensuite jouer avec le résultat pour vérifier les fonctions appelées.
  • # bac à sable

    Posté par (page perso) . Évalué à 3.

    Ici [(en) http://stackoverflow.com/questions/195149/is-it-possible-to-(...)] il y a une discussion sur le sujet. Peut être que tu trouveras ton bonheur.
    • [^] # Re: bac à sable

      Posté par (page perso) . Évalué à 2.

      Merci, mais pour conclure, il n'y pas de sandbox sécurisée à 100%, ou alors on fait appel à un interpréteur fait maison, ce qui me parait lourd et ce qui peut ralentir l'éxécution du code alors que je suis dans un contexte où le code doit être le plus rapide possible.

      Je vais faire de la validation manuelle.

      Merci pour vos réponses.

      « En fait, le monde du libre, c’est souvent un peu comme le parti socialiste en France » Troll

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.