2010-08-22 16 views
6

Ich entwickle ein Projekt mit Node.js auf der Rückseite, mit dem ich auch JSON verwenden, um Daten über Clients an Web-Sockets und von Clients zu übergeben. Das Problem, das ich habe ist, dass, wenn eine ungültige Zeichenfolge an den Server gesendet wurde (einfach durch den Benutzer Chaos mit der JavaScript-Konsole), dann würde es den Server zum Absturz bringen, während es versucht, es zu analysieren.Versuch, JSON zu analysieren, ohne Node.js Server zu stürzen

Die aktuelle Methode, die ich habe, um dieses Vorkommen zu verhindern, verwendet eine try/catch-Anweisung.

Meine Frage ist, gibt es eine geeignetere Art zu überprüfen, ob eine Zeichenfolge analysierbar ist? Ist die Verwendung von try/catch-Anweisungen auch eine gute Übung oder sind sie nur zum Debuggen gedacht?

Vielen Dank.

Antwort

4

Die Verwendung von try/catch ist für die Erstellung von robustem Code in vielen Umgebungen unerlässlich - sehr wichtig, um Fehlerbedingungen elegant zu behandeln.

Wenn Sie jedoch Daten von einer externen Quelle akzeptieren, müssen Sie validieren, um sicherzustellen, dass Sie keinen Angriffsvektor geöffnet haben.

Dieser Knotenmodul hat ein paar JSON Elemente JSON Schema enthält, die hilfreich sein könnten: https://github.com/kriszyp/json-schema

Verwandte Themen