2010-08-22 9 views
6

Zajmuję się tworzeniem projektu przy użyciu Node.js na zapleczu, z którego używam również JSON do przekazywania danych do iz klientów przez gniazda internetowe. Problem polega na tym, że jeśli nieprawidłowy ciąg został wysłany na serwer (łatwo zrobiony przez użytkownika z konsoli JavaScript), to spowodowałby awarię serwera podczas próby jego przeanalizowania.Próba parsowania JSON bez awarii serwera Node.js

Obecną metodą, którą stosuję w celu zapobiegania temu zjawisku, jest użycie instrukcji try/catch.

Moje pytanie brzmi, czy istnieje lepszy sposób sprawdzenia, czy łańcuch jest możliwy do analizy? Czy korzystanie z dobrych praktyk jest dobrym pomysłem lub czy są one przeznaczone tylko do debugowania?

Dziękuję.

Odpowiedz

4

Używanie try/catch jest niezbędne do tworzenia odpornego kodu w wielu środowiskach - bardzo ważne jest, aby zręcznie obsługiwać warunki błędu.

Jednak za każdym razem, gdy akceptujesz dane z zewnętrznego źródła, musisz je zweryfikować, aby upewnić się, że nie otworzyłeś wektora ataku.

Moduł ten węzeł ma kilka elementów w tym JSON JSON schematu, które mogą być pomocne: https://github.com/kriszyp/json-schema

Powiązane problemy