2013-08-20 26 views
8

Tôi đang thiết kế API Web trả về JSON làm kiểu nội dung, nội dung phản hồi có thể chứa các ký tự như ', ", <>. Vì vậy, câu hỏi của tôi là tôi nên mã hóa HTML cho cơ thể phản hồi API Web của tôi hay tôi nên để tác vụ này cho khách hàng HTML đang sử dụng API Web của tôi?Tôi có nên mã hóa phản hồi API Web của tôi

+0

gì nếu khách hàng không có gì để làm với HTML? – SLaks

Trả lời

9

Không; bạn không được.

Bạn chỉ được phép thoát dữ liệu nếu và khi bạn nối nó vào một định dạng có cấu trúc.

Nếu bạn trả về JSON như { "text": "Content by X &amp; Y" }, bất kỳ ai đọc JSON đó sẽ thấy văn bản theo ngữ nghĩa &amp;.
Nó sẽ chỉ hoạt động chính xác cho các khách hàng cực kỳ bị hỏng, những người này nối nó trực tiếp vào HTML của họ mà không cần thoát.

Nói tóm lại:

Không bao giờ thoát khỏi văn bản trừ khi bạn sắp hiển thị nó

+0

Hi Slaks, tôi đánh giá cao câu trả lời rõ ràng của bạn! khi tôi hỏi câu hỏi này, tôi vô thức có cảm giác rằng có lẽ tôi không nên. Cảm ơn bạn đã làm cho tôi rõ ràng về điều này! – Shuping

0

Bạn đang sử dụng nền tảng nào? Ví dụ, Node.js, bạn có thể sử dụng restify để xử lý rất tốt. Bạn không cần phải mã hóa dữ liệu một cách rõ ràng. Do đó, hãy tìm một khung hoặc thành phần an toàn để giúp bạn.

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