Đặt góc bên trongHTML từ bản thảo
Để chèn HTML vào tài liệu thay vì thay thế nội dung của một phần tử, hãy sử dụng phương thức 4 Show Giá trịMột chuỗi chứa tuần tự hóa HTML của hậu duệ của phần tử. Đặt giá trị của 3 sẽ xóa tất cả các phần tử con của phần tử và thay thế chúng bằng các nút được tạo bằng cách phân tích cú pháp HTML được cung cấp trong chuỗi htmlStringngoại lệ 6 7Bị ném nếu cố gắng đặt giá trị của 3 bằng cách sử dụng một chuỗi HTML không đúng định dạng 9 7Bị loại bỏ nếu cố gắng chèn HTML vào một nút có cha mẹ là một `;
1ghi chú sử dụngThuộc tính 3 có thể được sử dụng để kiểm tra nguồn HTML hiện tại của trang, bao gồm mọi thay đổi đã được thực hiện kể từ khi trang được tải lần đầuĐọc nội dung HTML của một phần tửViệc đọc 3 khiến tác nhân người dùng tuần tự hóa đoạn HTML hoặc XML bao gồm các phần tử con của phần tử. Chuỗi kết quả được trả về 0Điều này cho phép bạn xem đánh dấu HTML của các nút nội dung của phần tử Ghi chú. Đoạn HTML hoặc XML được trả về được tạo dựa trên nội dung hiện tại của phần tử, do đó, đánh dấu và định dạng của đoạn được trả về có khả năng không khớp với đánh dấu trang gốc Thay thế nội dung của một phần tửĐặt giá trị của 3 cho phép bạn dễ dàng thay thế nội dung hiện có của phần tử bằng nội dung mớiGhi chú. Đây là rủi ro bảo mật nếu chuỗi được chèn có thể chứa nội dung độc hại tiềm ẩn. Khi chèn dữ liệu do người dùng cung cấp, bạn phải luôn cân nhắc sử dụng `;
5 để làm sạch nội dung trước khi chènVí dụ: bạn có thể xóa toàn bộ nội dung của tài liệu bằng cách xóa nội dung của thuộc tính `;
6 của tài liệu
Ví dụ này tìm nạp đánh dấu HTML hiện tại của tài liệu và thay thế các ký tự `;
7 bằng thực thể HTML `;
8, do đó về cơ bản chuyển đổi HTML thành văn bản thô. Điều này sau đó được bao bọc trong một phần tử `;
9. Sau đó, giá trị của 3 được thay đổi thành chuỗi mới này. Do đó, nội dung tài liệu được thay thế bằng màn hình hiển thị toàn bộ mã nguồn của trang `;
chi tiết hoạt độngChính xác thì điều gì sẽ xảy ra khi bạn đặt giá trị của 3?
Nối thêm HTML vào một phần tửĐặt giá trị của 3 cho phép bạn thêm nội dung mới vào phần tử hiện cóVí dụ: chúng tôi có thể nối một mục danh sách mới ( 19) vào danh sách hiện có ( 90)HTML 1JavaScript 9Xin lưu ý rằng việc sử dụng 3 để nối các phần tử HTML (e. g. 92) sẽ dẫn đến việc loại bỏ mọi trình xử lý sự kiện đã đặt trước đó. Nghĩa là, sau khi bạn thêm bất kỳ phần tử HTML nào theo cách đó, bạn sẽ không thể nghe các trình xử lý sự kiện đã đặt trước đóCân nhắc về Bảo mậtKhông có gì lạ khi thấy 3 được sử dụng để chèn văn bản vào trang web. Điều này có khả năng trở thành phương tiện tấn công trên một trang web, tạo ra rủi ro bảo mật tiềm ẩn 5Mặc dù điều này có vẻ giống như một cuộc tấn công kịch bản chéo trang, nhưng kết quả là vô hại. HTML chỉ định rằng thẻ 94 được chèn bằng 3 sẽ không được thực thiTuy nhiên, có nhiều cách để thực thi JavaScript mà không cần sử dụng các phần tử 94, do đó, vẫn có rủi ro bảo mật bất cứ khi nào bạn sử dụng 3 để đặt các chuỗi mà bạn không có quyền kiểm soát. Ví dụ 0Vì lý do đó, bạn nên sử dụng thay vì 3
Cảnh báo. Nếu dự án của bạn là dự án sẽ trải qua bất kỳ hình thức đánh giá bảo mật nào, việc sử dụng 3 rất có thể sẽ khiến mã của bạn bị từ chối. Ví dụ: nếu bạn sử dụng 3 trong tiện ích mở rộng của trình duyệt và gửi tiện ích mở rộng đó cho addons. mozilla. org, nó có thể bị từ chối trong quá trình xem xét. Vui lòng xem Chèn nội dung bên ngoài vào trang một cách an toàn để biết các phương pháp thay thếví dụVí dụ này sử dụng 3 để tạo cơ chế ghi thông báo vào hộp trên trang webJavaScript 7Hàm 54 tạo đầu ra nhật ký bằng cách lấy thời gian hiện tại từ đối tượng 55 bằng cách sử dụng 56 và tạo chuỗi có dấu thời gian và nội dung thông báo. Sau đó, thông báo được thêm vào hộp có lớp 57Chúng tôi thêm một phương pháp thứ hai ghi lại thông tin về các sự kiện dựa trên 58 (chẳng hạn như 59, 00 và 01) 6Sau đó, chúng tôi sử dụng điều này làm trình xử lý sự kiện cho một số sự kiện chuột trên hộp chứa nhật ký của chúng tôi 7HTMLHTML khá đơn giản cho ví dụ của chúng tôi 0 02 với lớp 03 chỉ là một bộ chứa nhằm mục đích bố trí, trình bày nội dung với một hộp xung quanh nó. 02 có lớp là 57 là vùng chứa cho chính văn bản nhật kýCSSCSS sau tạo kiểu cho nội dung ví dụ của chúng tôi 1Kết quảNội dung kết quả trông như thế này. Bạn có thể xem đầu ra trong nhật ký bằng cách di chuyển chuột vào và ra khỏi hộp, nhấp vào hộp đó, v.v. Có an toàn khi sử dụng InternalHTML trong Angular không?Đảm bảo rằng với tư cách là nhà phát triển, bạn đang tuân theo “Phương pháp góc cạnh” và các phương pháp hay nhất của nó để bảo vệ bạn khỏi XSS. Ví dụ: điều này có nghĩa là bạn không nên sử dụng InternalHTML , không bao giờ sử dụng các mẫu được tạo bằng cách ghép nối đầu vào của người dùng và không bao giờ sử dụng API DOM gốc để tương tác với các phần tử HTML.
Làm cách nào để thêm thẻ HTML vào tệp Angular ts?Cách tạo phần tử HTML trong TypeScript. . sử dụng tài liệu. phương thức createElement() để tạo phần tử Đặt bất kỳ thuộc tính hoặc html bên trong nào trên phần tử đã tạo Thêm phần tử vào trang bằng phương thức appendChild() Làm cách nào để sử dụng Góc với TypeScript?TypeScript là ngôn ngữ chính để phát triển ứng dụng Angular. Nó là một siêu bộ JavaScript với hỗ trợ thời gian thiết kế cho công cụ và an toàn loại. Trình duyệt không thể thực thi trực tiếp TypeScript. Bản mô tả phải được "phiên mã" sang JavaScript bằng trình biên dịch tsc, trình biên dịch này yêu cầu một số cấu hình . |