2010-08-22 4 views
6

Я разрабатываю проект с использованием Node.js на подложке, с этим я также использую JSON для передачи данных клиентам и через клиентов через веб-сокеты. Проблема заключается в том, что если неверная строка была отправлена ​​на сервер (это легко сделать с помощью пользовательской возиться с консолью JavaScript), это приведет к сбою сервера при попытке его проанализировать.Попытка разобрать JSON без сбоя Сервер Node.js

В текущем методе, который я имею для предотвращения этого события, используется оператор try/catch.

Мой вопрос в том, есть ли более правильный способ проверки, является ли строка разборной? Кроме того, является ли использование инструкций try/catch хорошей практикой или они предназначены только для отладки?

Thank-you.

ответ

4

Использование try/catch важно для создания надежного кода во многих средах - очень важно грациозно обрабатывать условия ошибки.

Однако, когда вы принимаете данные с внешнего источника, вы должны должны проверить его, чтобы убедиться, что вы не открыли вектор атаки.

Этот модуль узел имеет несколько элементов, включая JSON JSON Schema, которые могут быть полезны: https://github.com/kriszyp/json-schema

10

выше ответ хорош. Но вы также должны установить прослушиватель для исключенных исключений в node.js. Таким образом, вы можете регистрировать исключения, и ваш сервер будет работать.

http://nodejs.org/api/process.html#process_event_uncaughtexception

Смежные вопросы