Avertissement: je suis l'auteur principal de easyXDM.
Il n'est effectivement pas facile de répondre à cette directement, comme il y a beaucoup de choses à considérer.
Tout d'abord, permet de comparer easyXDM et JSONP en dehors de la portée de la question.
JSONP permet un volet client (Javascript à l'aide de la NOMENCLATURE/DOM) pour interagir avec un programme côté serveur(.net, php, etc à l'aide de bases de données, stockage de session etc), et c'est seulement le client peut initier la messagerie (demande/réponse, les bureaux de vote, ou de les pousser, bien que pour le push, vous pouvez facilement définir une IMG.src, ne XHR ou un post de FORMULAIRE que vous ne nécessitent pas une réponse).
Le client est limité dans la quantité de données qu'il peut envoyer au serveur, et ces données doivent également être mis en forme pour s'adapter comme un paramètre de chaîne de requête, et le serveur doit être mis en place pour répondre à ces données. Pour chaque message d'un réseau de voyage est exécuté avec le coût que cela engendre.
easyXDM facilite la messagerie entre les deux côté client des programmes à l'aide d'une chaîne de caractères en fonction de la pile de transport. Il n'a pas besoin d'être tout de côté de serveur de programmes impliqués, et il n'y a pas de trafic réseau. Les deux côtés sont à la fois égaux et peuvent initier de messagerie, et peut maintenir l'état sur le client (d'où le terme de programmes au lieu de la plaine de Javascript).
Les messages ne sont pas limités en taille, et aussi longtemps que les données peuvent être sérialisés à une chaîne, le transport peut s'en occuper (easyXDM vous permet de personnaliser le sérialiseur, ou d'utiliser JSON).
La principale différence entre ces deux sommes que l'on est entre un client et un serveur où seul le client peut initier de messagerie, et que l'autre est égal entre deux programmes client, où l'on peut utiliser XHR et d'autres moyens pour communiquer avec le ou les relais de données à un serveur.
En matière de sécurité; JSONP exige que le client approuve le serveur absolument, après tout, il permet d'exécuter du code arbitraire dans son programme. Autre que cela, il ya quelques questions, mais c'est pas grave un.
Avec easyXDM seulement de l'information (la chaîne) et pas de code est transmis, et c'est vers le récepteur à inspecter l'information et de la loi sur elle. Donc, il n'y a absolument aucun risque d'une exécution arbitraire de code. Tout ce qui précède est vrai, certains des composants que easyXDM invoqué pour établir le canal sont vulnérables aux attaques de type XSS (une url spécialement conçue serait la cause de la client d'exécuter du code arbitraire), mais ceux-ci ont été fermés. À l'heure actuelle aucun de ces vulnérabilités sont connus, et tous les nouveaux code est examinée à fond.
J'utilise moi-même easyXDM pour quelques projets d'envergure, et des sites comme LinkedIn, Twitter et Disqus ainsi que les applications s'exécutent par Nokia et d'autres ont construit leurs applications sur le dessus de la messagerie cadre fourni par easyXDM, donc il ya beaucoup de gens qui ont passé le code et vérifié, et qui, à travers l'aide qu'il se porter garant de sa sécurité.
À la fin, c'est vraiment du cas d'utilisation. Par exemple, JSONP ne peut pas être utilisé pour le redimensionnement d'une fenêtre à travers les domaines, en tant que de besoin client/client de communication. Mais easyXDM peut être utilisé pour les clients/client et client/serveur en ayant l'une des parties d'utiliser XHR.
Dans votre cas, aucune de ces sont vraiment nécessaires si vous avez besoin simplement de faire un petit morceau de l'information disponible sur le domaine non sécurisé.
- Naviguer à travers le domaine sécurisé, installer un cookie sur le non sécurisé d'un
- Naviguer à travers le domaine sécurisé, à le faire rediriger vers le non sécurisés de passage de l'information dans sa demande
- Naviguer à travers le domaine sécurisé, stocker les données dans la fenêtre.nom avant de la rediriger vers le unsecure un.
Si il est essentiel que l'information ne peut pas être usurpée, alors vous tous et toutes pour ces besoin de signer les données de sorte que son authenticité ne peut être confirmée, mais si tout ce que vous avez besoin est un nom, alors ce devrait être inutile.
Une manière simple de vérifier l'authenticité est à
- Sur le domaine non sécurisé, la génération aléatoire de secret et de le stocker, et de les rediriger vers le domaine non sécurisé de passage le secret.
- Sur le domaine sécurisé, de passer de nouveau le secret de concert avec l'information (à l'aide de l'un des moyens décrits ci-dessus)
- sur le client de vérifier que les informations que contient le secret.
Depuis que les deux parties pourraient éventuellement avoir le secret, l'information est vérifiée.
Pour conclure, il n'y a vraiment pas de réponse définitive, tout dépend de la situation. Afin de choisir, mais choisir judicieusement :)