2010-08-22 33 views
6

Tôi đang phát triển một dự án bằng cách sử dụng Node.js ở phía sau, với điều đó tôi cũng đang sử dụng JSON để chuyển dữ liệu đến và từ các máy khách qua ổ cắm web. Vấn đề tôi có là nếu một chuỗi không hợp lệ được gửi đến máy chủ (dễ dàng thực hiện bởi người dùng rối tung với bảng điều khiển JavaScript) thì nó sẽ làm hỏng máy chủ trong khi cố phân tích nó.Cố gắng phân tích cú pháp JSON mà không làm rơi máy chủ Node.js

Phương pháp hiện tại tôi có để ngăn chặn sự cố này là sử dụng câu lệnh try/catch.

Câu hỏi của tôi là, có cách kiểm tra thích hợp hơn nếu chuỗi có thể phân tích cú pháp không? Ngoài ra, là việc sử dụng các câu lệnh try/catch hay hay chúng có nghĩa là chỉ để gỡ lỗi?

Cảm ơn bạn.

Trả lời

4

Sử dụng try/catch là điều cần thiết để tạo mã mạnh mẽ trong nhiều môi trường - rất quan trọng để xử lý các điều kiện lỗi một cách duyên dáng.

Tuy nhiên, bất cứ khi nào bạn chấp nhận dữ liệu từ nguồn bên ngoài, bạn phải xác thực để đảm bảo bạn chưa mở ra một vectơ tấn công.

mô-đun nút này có một vài yếu tố JSON JSON bao gồm Schema mà có thể được giúp đỡ: https://github.com/kriszyp/json-schema

Các vấn đề liên quan