Page 1 sur 1

CORS (cross origin request) et B2G (via le W3C)

Posté : 05 juin 2016, 14:15
par fabbox
Bonjour à tous,

bon je commence à paniquer avec la transition vers B2G.

Avec le nouveau système d'app basé sur les standards, je ne vois pas comment peut-on concevoir de faire une application qui fait des CORS (ça marche pas avec les services workers ou autre standard). Dans fxOS, il fallait une application packagée qui déclarait "systemXHR" et faire les requêtes en précisant ce paramètres dans le code javascript.

Pour faire court, c'est impossible de faire un lecteur de flux rss en local qui n'interrogerait pas le serveur de la webapp et qui servirait de proxy.

Il y a un truc que j'ai loupé ?

Merci de votre aide :wink:
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 06 juin 2016, 07:19
par sizvix
? Les CORS, c'est souvent le coté serveur où ça se corse pourtant ( enfin, penser à mettre un header, mais une fois qu'on le sait ... )
Mais en effet, ton app va aller chercher une page sur un autre serveur :-/
Ils n'ont pas mis des nouvelles permissions sur la nouvelle monture ? ( j'ai pas encore essayé de porter mes apps dessus )
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 06 juin 2016, 20:07
par fabbox
c'est bien le problème pour un lecteur de flux rss...
Pour les nouvelles autorisations, je suis quasiment sur que ça a sauté puisque les apps "packagées" ont sauté (ce qui permettait d'avoir des autorisations "spéciales" puisque l'app était auditée/reviewé).
Mais ma question n'est pas vraiment innocente car ça veut dire qu'une webapp tu es obligé d'envoyer tes données au serveur qui doit gérer tout le traffic :-/ j'aime moins les webapp d'un coup :-\
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 07 juin 2016, 09:35
par lapineige
Je ne saurai pas répondre à ta question, ma compréhension technique du problème est un peu limité :/
(tu peux la reposter là pour voir ? https://discourse.mozilla-community.org ... ticipation)

Une webapp qui communique, ou moins de temps en temps avec un serveur ça peut être intéressant, mais en effet dans certains cas du tout local suffirait.

En quoi il n'est pas possible de faire ce type de requête avec les APIs standards ? (sans connaître les détails technique ça ne me semble pas très logique)
Votre Navigateur : Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.125 Safari/537.36 OPR/25.0.1614.71

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 07 juin 2016, 14:16
par sizvix
CORS : Cross-origin resource sharing
https://en.wikipedia.org/wiki/Cross-ori ... ce_sharing
C'est un truc de sécurité ( je n'ai jamais trop compris l'utilité vu que c'est le serveur qui dit les droits, mais renvoie quand même la page ( et exécute le script donc ) et c'est le navigateur qui exécute ce droit ...
Je sais que je m'étais déjà agacé dessus, et en effet, normalement c'est le serveur qui dit les droit et la page affiché les gère.
Et pour un flux RSS, en effet, tu utilises d'autres pages , si le serveur d'origine de ces pages ne met pas l'autorisation CORS et que tu ne passes pas par un serveur , le navigateur te bloque la ressource ... Donc bloque la ressource pour les apps qui veulent l'utiliser ...
Mais en effet, pose ta question sur discourse .
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 09 juin 2016, 11:58
par lapineige
Et c'est efficace: https://discourse.mozilla-community.org ... bapps/9131
Votre Navigateur : Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 09 juin 2016, 20:05
par fabbox
yep, merci du lien mais la réponse est pas très encourageante :-?
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 10 juin 2016, 14:38
par brieucs
bonjour, Fabbox, Sizvix,

je ne sais pas si ça a déjà été exploré, ni si c'est pertinent,
mais je trouve dans les 2 liens suivants :

http://www.html5rocks.com/en/tutorials/ ... roduction/
https://www.w3.org/TR/service-workers/# ... -resources

la possibilité d'émettre une "request" avec l'option "no-cors" pour le 'fetch'
et le 'cache' de données 'hors-site' avec une "opaque-response";
(avec des restrictions qui pourraient être délicates dans le cas du 'RSS').
La documentation est encore provisoire.

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 10 juin 2016, 15:10
par sizvix
C'est ce que je me posais comme question, avec les services-workers si on ne pouvait pas faire quelque chose .
Bon, là, j'ai pas pris le temps de lire tout ( mais je ne comprend toujours pas l'utilité des CORS dans le sens où ils existent ... encore, si c'était la page appelante qui définissait l'espace d'appel, je comprendrais , mais là ... )
Faudrait vraiment qu'il y ai la possibilité de débrider le système facilement ... au moins avec une modif de config via ADB ...
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 13 juin 2016, 21:08
par brieucs
[utilité des Cors ?] on trouve, dans
https://en.wikipedia.org/wiki/Same-origin_policy
un exemple (paragraphe "Security Concerns") :

on consulte son compte sur le site de sa banque, et, oubliant de se déconnecter,
on passe a un site malicieux : c'est lui qu'il faut empêcher d'aller "voir la banque"
par une tentative en JS (cross-site), qui peut explorer l'historique ou le "referer",
et "continuer" la session-banque, dont le cookie est encore là.

Le "Cors" permettrait de "cadrer" certaines requêtes hors-site légitimes ...

Exemples de XSS ci-après, trop compliqués pour moi :-?
https://en.wikipedia.org/wiki/Cross-sit ... t_examples

Maintenant, si quelqu'un arrive à faire autre chose avec les service-workers que
le quasi-même-exemple donné partout, qu'il nous prévienne ;)

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 30 juin 2016, 10:57
par brieucs
dans The Service Worker Cookbook : https://serviceworke.rs/
en particulier https://serviceworke.rs/fetching_demo.html
(demo) montre des essais "cors" et "no-cors", "http" et "https" ...

reste alors à voir ce qu'on peut faire avec un serveur http en localhost (Node et/ou TCPServerSocket du w3c)
[ la "transition" demande une profonde révolution dans notre compréhension et nos outils ] (web or dead !).

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 03 juil. 2016, 20:06
par fabbox
De mon coté, ça donne du rouge sauf sur les requêtes cors enable avec firefox 47 et sous firefox dev edition (49), j'ai 2 erreurs :

Code : Tout sélectionner

  TypeError: event.request.url.contains is not a function service-worker.js:6

  Chargement du contenu mixte actif « about:neterror?e=corruptedContentErrorv2&u=https%3A//serviceworke.rs/fetching/index.html&c=UTF-8&f=regular&d=Le%20site%20%C3%A0%20l%E2%80%99adresse%20https%3A//serviceworke.rs/fetching/index.html%20a%20subi%20une%20violation%20de%20protocole%20r%C3%A9seau%20qui%20ne%20peut%20pas%20%C3%AAtre%20corrig%C3%A9e. » (non sécurisé) sur une page sécurisée[En savoir plus]fetching_demo.html
ça ne me surprend pas vraiment. Le service worker est censé être soumis au même contrainte de same-origin.

Ce que je n'ai pas bien compris, c'est si c'était censé marché ? (le coup du proxy notamment)
Votre Navigateur : Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0

Re: CORS (cross origin request) et B2G (via le W3C)

Posté : 04 juil. 2016, 10:55
par brieucs
bonjour;
je soupçonne que la "fetching_demo" n'est pas complète, car au lieu de transmettre ou mettre en cache les "réponses opaques" en sw-proxy, elle annonce un "fail" en rouge (cas "https + no-cors", acao ou pas, sw-proxy ou pas).

Je pars à la pêche (2015) sur fetch :
https://jakearchibald.com/2015/thats-so-fetch/
https://hacks.mozilla.org/2015/03/this- ... -fetching/
http://stackoverflow.com/questions/3629 ... serves-for
( "incredibly complicated" ? ).
v aussi : https://fetch.spec.whatwg.org/