Văn bản bên trong HTML
Thuộc phần Kiến thức cơ bản về Express trong hành trình Node.js của Coddy. Bài học 9 trên 23.
Khách truy cập có thể nhập các ký tự mà HTML xem là mã đánh dấu. Nếu tiêu đề chứa <b>, đặt trực tiếp tiêu đề đó vào trang sẽ tạo thành một thẻ. Việc escape biến các ký tự này thành văn bản mà trình duyệt hiển thị.
escapeHtml('<b>Lunch</b>');
// <b>Lunch</b>Hàm hỗ trợ chuyển & thành &, để trình duyệt hiển thị ký tự và. Dấu ngoặc kép trở thành "; dấu nháy đơn vẫn giữ nguyên. Hãy escape mọi giá trị văn bản được chèn vào, bất kể ai viết, trước khi đặt nó trong HTML của bạn. Nếu escape toàn bộ trang, các thẻ tiêu đề cũng sẽ hiển thị dưới dạng văn bản. Bạn không cần tự viết hàm hỗ trợ này; điều quan trọng là quyết định vị trí sử dụng nó.
Trong URL, hãy viết dấu cách thành %20, dấu và thành %26, dấu ngoặc nhọn thành %3C và %3E. Các mã này giúp tách văn bản tiêu đề khỏi cú pháp truy vấn.
Thử thách
DễChỉnh sửa exercise.js. Dùng hàm trợ giúp được cung cấp cho tiêu đề trước khi đặt tiêu đề vào các thẻ heading của bạn. Trả về heading đã hoàn chỉnh trong html.
Thử chạy: GET /result?title=Fish%20%26%20Chips trả về {"html":"<h1>Fish & Chips</h1>"}. Thử /result?title=%3Cb%3ELunch%3C%2Fb%3E: tiêu đề được chèn vào phải là văn bản, còn heading của bạn vẫn là markup.
Tự làm thử
import { escapeHtml } from './html.js';
export function exercise({ title }) {
return { html: `<h1>${title}</h1>` };
}
Tất cả bài học trong Kiến thức cơ bản về Express
1Máy chủ đầu tiên của bạn
Xin chào, ExpressModule httpThêm tuyến đườngTham số tuyến đường2Phản hồi
Phản hồi JSONTự luyện tập: Playground Express