J'ai toujours eu ce problème à l'esprit et toujours allé avec la solution la plus facile de le faire sur le serveur. Cependant, j'ai décidé que je peux demander plus de gens à ce sujet, peut-être l'un des éclairés peut m'aider avec une solution fiable.Communication fiable entre votre serveur et le navigateur?
Problème: vous développez une application Web qui héberge de nombreux utilisateurs. Une partie des fonctionnalités que vous proposez consiste à appeler une API externe. Cet appel est fait pour chaque utilisateur. L'appel peut être fait soit par votre serveur ou le JavaScript du navigateur. Dans les deux cas, vous persistez le résultat du traitement des données de l'appel d'API dans la base de données du serveur. Je voudrais décharger appelant l'API et traitant les résultats au JavaScript du navigateur et après qu'il se termine il appellera le serveur avec les données pour persister. Le problème que je vois avec cette approche est que n'importe qui peut modifier le comportement de ce JavaScript (à quel point il est facile à firebug et ses goûts) de persister des données malveillantes/incorrectes sur le serveur. Comment puis-je - le serveur - croire que les données provenant de JavaScript - suivant le scénario précédent - sont correctes et non altérées?
Si je comprends bien, le serveur A et le serveur B devront toujours inclure le hachage anti-sabotage avec javascript étant seulement un intermédiaire qui transmet les messages? ... le truc, c'est tout ce que vous avez créé le hachage anti-sabotage ... parce que je supposais que javascript obtiendrait quelques résultats d'un appel API ... le traiter, puis transmettre les résultats ... Votre solution est parfaite si aucun traitement JavaScript n'est impliqué au milieu. .. javascript agit juste comme un transitaire ... J'aime cette solution – humanzz
C'est correct. Si vous avez le côté client qui transforme les données, vous devez opérer sous l'hypothèse que les données sont corrompues et éventuellement malveillantes. À peu près ce que Nick Craver affirme dans l'autre réponse. –