2010-08-22 13 views
6

Je développe un projet en utilisant Node.js à la sauvegarde, avec que j'utilise également JSON pour transmettre des données vers et depuis des clients via des sockets Web. Le problème que j'ai est que si une chaîne non valide a été envoyée au serveur (facilement fait par l'utilisateur jouant avec la console de Javascript) alors il écraserait le serveur en essayant de l'analyser.Tenter d'analyser JSON sans écraser le serveur Node.js

La méthode actuellement utilisée pour empêcher cette occurrence est l'utilisation d'une instruction try/catch.

Ma question est, y at-il un moyen plus approprié de vérifier si une chaîne est analysable? En outre, l'utilisation des instructions try/catch est-elle une bonne pratique ou est-elle uniquement destinée au débogage?

Merci.

Répondre

4

L'utilisation de try/catch est essentielle pour créer du code robuste dans de nombreux environnements - très important pour gérer avec élégance les conditions d'erreur.

Cependant, chaque fois que vous acceptez des données d'une source externe, doit le valider pour vous assurer que vous n'avez pas ouvert un vecteur d'attaque.

Ce module de nœud a deux éléments JSON dont le schéma JSON qui pourraient être utiles: https://github.com/kriszyp/json-schema