JeuWeb - Crée ton jeu par navigateur
Créer un jeu sur maps, existe t-il une alternative à ajax ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Créer un jeu sur maps, existe t-il une alternative à ajax ? (/showthread.php?tid=5892)

Pages : 1 2


RE: Créer un jeu sur maps, existe t-il une alternative à ajax ? - mang1 - 28-12-2011

Merci pour le coup de main !

Sephi-chan je part ce soir pour le nouvel an et à mon retour (lundi) j'essayerai de comprendre ton poste, j'aurais tout mon temps pour faire des essais. ^^

J'up lundi.


RE: Créer un jeu sur maps, existe t-il une alternative à ajax ? - nicodd - 29-12-2011

Bonjour,

Je ne connais pas du tout cette technologie, qui m'intéresse, et je me pose une question.
Avec le code montré en exemple, n'est il pas possible pour un utilisateur malveillant d'ouvrir une connexion en se faisant passer pour n'importe quel utilisateur ? Si oui, quelle est la parade préconisée ? (j'en imagine quelque unes, mais rien de très élégant)


RE: Créer un jeu sur maps, existe t-il une alternative à ajax ? - Sephi-Chan - 29-12-2011

La principale forme de parade, c'est simplement d'avoir un token (appelons-le le push_token) unique par utilisateur et de le transmettre au Javascript comme on l'a fait pour l'identifiant. Ainsi, au lieu d'envoyer les informations sur le canal users/1 (facile à deviner), on envoie sur users/1/acbd18 (difficile à deviner). Ainsi, le seul moyen d'écouter les messages d'un autre utilisateur, c'est de découvrir son token de push.


<script type="text/javascript">
window.currentUserId = <?php echo $current_user->getId(); ?>;
window.currentUserPushToken = <?php echo $current_user->getPushToken(); ?>;
</script>

L'autre difficulté, c'est pour les canaux privés (genre le canal de discussion d'une guilde). Ici, l'astuce du token de guilde ne marche pas, car s'il y a une taupe, elle peut donner ce token. La solution est variable selon les outils utilisés. La technique universelle, c'est de ne pas push sur un canal de guilde, mais de push sur le canal de chaque membre de la guilde. Sur certains services, cette solution peu être assez coûteuse en nombre de push (quand il faut pousser par un appel HTTP, par exemple), alors que ça n'a pas d'impact sur un outil comme Juggernaut grâce à Redis. Il y a d'autres techniques plus élégantes selon les systèmes, par l'utilisation de middleware.

Quand j'aurais plus de temps, je rédigerai tout ça sur le Wiki.


RE: Créer un jeu sur maps, existe t-il une alternative à ajax ? - nicodd - 29-12-2011

Merci pour l'info !

Vivement la fin des examens que je puisse regarder tout ça de plus près Smile


RE: Créer un jeu sur maps, existe t-il une alternative à ajax ? - niahoo - 09-01-2012

J'ai trouvé ça : https://github.com/sockjs/sockjs-client et ça a l'air miam sachant que ça propose
SockJS-client JavaScript client library
SockJS-node Node.js server
SockJS-erlang Erlang server
SockJS-lua Lua/Luvit server
SockJS-tornado Python/Tornado server
vert.x Java/vert.x server