Page 1 sur 1
Réinitialiser "se souvenir de cette décision"
Publié : 10 févr. 2009, 10:50
par curu
Bonjour,
pour une raison quelconque je dois sur une application web utiliser un javascript signé pour demander certains privilèges nécessaires au fonctionnement de l'application.
L'utilisateur peut accepter ou refuser l'obtention de privilèges via un popup, mais il peut surtout se souvenir de sa décision. Je n'ai rien contre le principe, seulement je ne vois pas de moyen de revenir en arrière pour l'utilisateur. En effetj'ai cherché dans les options de Firefox et exploré les variables du about:config sans avoir trouvé celle qui permettrait à l'utilisateur d'annuler le fait de se souvenir d'une décision.
C'est assez problématique car le fait pour l'utilisateur de se souvenir d'une décision pour l'obtention de privilèges à un javascript est comme définitif. S'il a jamais cliqué interdire en cochant de se souvenir de sa décision, il ne pourra plus jamais revenir sur sa décision. A moins de réinstaller Firefox, qui est le seul moyen que j'ai trouvé pour réinitialiser ses décisions. C'est franchement extrême et je pense qu'il faudrait au moins à l'utilisateur une sortie de secours pour revenir sur sa décision.
Connaissez-vous un autre moyen que la réinstallation du navigateur ?
Merci de votre attention
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Publié : 10 févr. 2009, 12:44
par calimo
Hello et bienvenue sur Geckozone

Des privilèges pour le javascript ? Je n'ai jamais vu ça, tu as un exemple de site qui fait ça ?
Publié : 10 févr. 2009, 13:04
par chBok
J'ai déjà vu ca, lorsqu'un script (hors d'une extension) veut accéder à des droits spécifiques, il demande à l'utilisateur de lui accorder.
Il me semble que c'est l'option javascript.options.strict dans about:config qu'il faut remettre par défaut (false).
Publié : 10 févr. 2009, 16:03
par curu
chBok a écrit :J'ai déjà vu ca, lorsqu'un script (hors d'une extension) veut accéder à des droits spécifiques, il demande à l'utilisateur de lui accorder.
Il me semble que c'est l'option javascript.options.strict dans about:config qu'il faut remettre par défaut (false).
Merci de vos avis et de votre accueil, je viens de tester et ce n'est malheureusement pas l'option qui pilote cet aspect.
J'ai toutefois plus d'informations, il semblerait que cette configuration soit stockée au niveau du profil car créer un nouveau profil et l'utiliser fait disparaître les décisions retenues. C'est pas le top mais un poil moins contraignant que réinstaller le navigateur.
calimo a écrit :Hello et bienvenue sur Geckozone Clin d'oeil
Des privilèges pour le javascript ? Je n'ai jamais vu ça, tu as un exemple de site qui fait ça ?
En fait pas vraiment le cas de figure est assez rarissime. La documentation "officielle"
ici.
En l'occurence j'ai du utiliser ce genre de script pour récupérer le chemin d'un fichier saisi dans un inputfile car depuis Firefox 3 il faut avoir des privilèges supplémentaires en js pour récupérer le chemin entier et pas seulement le nom. La manière dont sont implémentés les js signés ensuite est malcommode car tout le code html contenant un script js signé doit être signé aussi, et Firefox n'accède à ces pages signées que par des url de type jar://
www.toto.com/!toto.jar/toto.html...
Pas franchement l'idéal dans des sites dynamiques actuels, et la seule solution momoche que j'ai trouvée pour contourner ce comportement anachronique a été d'utiliser des iframe cachées contenant le code signé...
Je dois dire aussi que l'outil Signtool pour la signature des scripts n'est vraiment pas facile à prendre en main pour qui n'est pas très au point sur les problématiques de certificats et signatures.
Enfin bref voilà pour la petite histoire.
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Publié : 10 févr. 2009, 16:25
par chBok
Alors, serait-ce cette configuration décrite
ici sur xulfr.org ?
Publié : 10 févr. 2009, 16:36
par curu
Oui je connaissais cette option que j'ai utilisée par ailleurs pour mes devs.
Son souci est qu'elle désactive complètement le fait que Firefox demande une confirmation d'obtention de privilèges, que ce soit le mien ou n'importe quel autre. Hors mon objectif n'est pas d'abaisser le niveau de sécurité du navigateur de l'utilisateur mais juste la façon de revenir en arrière sur la mise en mémoire d'une décision sans pour autant vouloir laisser tous les privilèges se laisser obtenir automatiquement par tous les scripts que rencontrera l'utilisateur.
En fait je veux lui redonner le moyen de choisir, autant pour interdire que pour autoriser d'ailleurs.
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Publié : 10 févr. 2009, 18:14
par Invité
Je supppose que tu parles de scripts utilisant des commandes du genre:
Code : Tout sélectionner
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
Effectivement en cherchant un peu, il semble ne pas y avoir de moyen convivial de revenir en arrière si on a mémorisé son choix pour une page :s, çà mériterait un rapport de bug à mon avis.
J'ai trouvé une extension qui se propose de gérer çà,
FirefoxPrivilegesPlugin.
Pas essayé, et elle n'est pas dispo sur AMO. Elle mériterait quand même de jeter un oeil sur son code source.
Sinon sa page dédiée montre que c'est géré dans les préférences utilisateur, donc dans le fichier prefs.js du profil, sur les clés capability.principal.codebase.*, et il précise que ces clés NE SONT PAS visibles dans about:config.
En espérant que çà t'aide

Publié : 10 févr. 2009, 18:15
par martin
ah bé j'ai oublié de me loggué pour répondre

Publié : 11 févr. 2009, 13:27
par curu
Merci c'est précisément de quoi j'avais besoin.
J'ai désormais une procédure "roue de secours" pour revenir sur des décisions enregistrées. Pour information il faut dans le fichier prefs.js du profil supprimer 3 entrées correspondant à une décision mémorisée telles que :
Code : Tout sélectionner
user_pref("capability.principal.certificate.p0.*granted*", "UniversalXPConnect UniversalBrowserRead");
user_pref("capability.principal.certificate.p0.id", "xx:xx:CD:22:xx:D3:5F:xx:xx:xx:8D:83:F4:08:xx:C5:B1:3A:08:xx");
user_pref("capability.principal.certificate.p0.subjectName", "CN=xxxx.COM,OU=xx Sxx,O=xxxxx.COM,L=Paris,ST=Paris,C=FR");
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Ce plugin FirefoxPrivilegesPlugin se présente comme une page html contenant elle même du code signé permettant de lister les autorisations mémorisées et de les resetter. Les interdictions mémorisées ne sont en revanche pas gérés dans le plugin.
Si un jour j'ai un peu de temps je pourrais adapter le plugin en une version un peu plus light et gérant également les interdictions. Si entretemps Firefox ne gère toujours pas cette fonctionnalité. La encore si j'avais un peu de temps je posterais un rapport de bug voire une demande de feature mais on verra.
En tout cas merci de votre aide à tous.
