Tại sao bạn không nên sử dụng InternalHTML trong JavaScript?
Thuộc tính innerHTML của Mô hình đối tượng tài liệu (DOM) được sử dụng để đặt hoặc trả về nội dung HTML của phần tử Show
Vì đây là cách dễ nhất và nhanh nhất để thay đổi Mô hình Đối tượng Tài liệu, nên thuộc tính innerHTML thường được sử dụng để thay đổi nội dung của trang web InternalHTML có thể nguy hiểm như thế nào?Trang web có thể trở nên rất dễ bị tấn công nếu InternalHTML được sử dụng liên tục. Chẳng hạn, việc sử dụng nó cho các trường nhập liệu có thể gây ra thao tác DOM và kẻ tấn công có thể sử dụng tập lệnh chéo trang (XSS) để chèn tập lệnh có hại và đánh cắp dữ liệu riêng tư và nhạy cảm được lưu trữ trong cookie phiên Do đó, chúng ta sẽ tìm hiểu về những hạn chế của việc sử dụng InternalHTML trong bài viết này Nhược điểm của việc sử dụng thuộc tính InternalHTML
Giải pháp thay thế an toàn cho InternalHTML là gì?Cách tiếp cận cực kỳ đơn giản là sử dụng 2 thay vì innerHTML . Điều này chỉ đưa vào nội dung văn bản, không đánh dấu và không thao tác DOM
Nếu bạn được phép sử dụng thư viện của bên thứ ba, thì hãy xem DOMPurify sẽ làm sạch HTML và ngăn chặn các cuộc tấn công XSS Phần kết luậnBây giờ, bạn biết lý do tại sao bạn không nên sử dụng tài sản nút. innerHTML là một công cụ JavaScript cực kỳ hữu ích và là thứ mà tôi đã sử dụng thường xuyên kể từ khi tìm hiểu về JavaScript tại Trường Flatiron. Không giống như nút. InternalText và Nút. textContent, có thể được sử dụng để kiểm tra hoặc thay đổi văn bản của phần tử, Nút. InternalHTML được sử dụng để kiểm tra đánh dấu HTML hiện tại của một phần tử, thay đổi nó thành một thứ khác hoặc xóa toàn bộ nội dung. Khi cập nhật DOM bằng JavaScript, bạn có thể muốn sử dụng thuộc tính này để nhanh chóng hiển thị các thay đổi đối với cả văn bản và HTML; Một trong những rủi ro phổ biến nhất khi sử dụng Node. InternalHTML ngày nay là cross-site scripting (XSS), cho phép người dùng bên ngoài thêm các tập lệnh phía máy khách độc hại vào các trang web sẽ được nhiều người dùng xem. Tin rằng các tập lệnh này là an toàn, trình duyệt của họ sẽ thực thi chúng, khiến người dùng dễ bị đánh cắp cookie và thông tin cá nhân khác. Nếu điều đó không đủ đáng sợ, những tập lệnh này cũng có thể thay đổi nội dung thực tế của chính trang web XSS bỏ qua chính sách cùng nguồn gốc, một điều khiển truy cập chỉ cho phép một số tập lệnh nhất định chạy trên mỗi trang web, tùy thuộc vào nguồn gốc của chúng (được tạo thành từ sơ đồ URI, tên máy chủ và số cổng). Chính sách này được đưa ra để ngăn chặn hành vi trộm cắp dữ liệu nhạy cảm được chia sẻ qua các trang web Mặc dù việc sử dụng Node. InternalHTML không hoàn toàn an toàn trong mọi trường hợp sử dụng, nó vẫn có thể được sử dụng trong một số trường hợp, chẳng hạn như chèn dữ liệu tĩnh trên một trang không thu thập thông tin nhập của người dùng. Vì mục đích của các dự án của chúng tôi tại Trường Flatiron, một cuộc tấn công XSS sẽ không hơn gì một sự phiền toái nhỏ vì chúng tôi không xử lý dữ liệu cá nhân hoặc dữ liệu nhạy cảm ở giai đoạn này Tuy nhiên, đối với một trang web xử lý thông tin cá nhân, một cuộc tấn công XSS có thể gây bất lợi đáng kể cho những người duy trì dữ liệu và người dùng của nó. Đối với những người tạo trang web sẽ xử lý thông tin cá nhân hoặc trải qua đánh giá bảo mật, Node. textContent nên được sử dụng thay cho Node. InternalHTML như một biện pháp phòng ngừa bổ sung chống lại một cuộc tấn công Để biết thêm thông tin về bảo mật dữ liệu, hãy xem Dự án bảo mật ứng dụng web mở (OWASP), một cộng đồng bảo mật phần mềm nguồn mở. OWASP cung cấp cho các cá nhân và tổ chức các công cụ và tài liệu để hỗ trợ ngăn chặn các cuộc tấn công bảo mật Tại sao chúng ta không nên sử dụng InternalHTML?InnerHTML không cung cấp xác thực hợp lệ , do đó, bất kỳ mã HTML hợp lệ nào cũng có thể được sử dụng. Điều này có khả năng phá vỡ tài liệu JavaScript. Ngay cả HTML bị hỏng cũng có thể được sử dụng, điều này có thể gây ra các sự cố không mong muốn.
Sử dụng InternalHTML trong JavaScript có an toàn không?Bài Viết Liên QuanQuảng CáoCó thể bạn quan tâmToplist được quan tâm#1
Top 9 tập bản đồ lớp 8 bài 31 20237 tháng trước#2
Top 6 kết quả thi hsg đà nẵng 2022 20237 tháng trước#3
Top 9 tủ nhựa đài loan 4 cánh 3d 20237 tháng trước#4
#5
Top 8 tìm việc làm tiện, phay bảo q7 20237 tháng trước#6
#7
#8
Top 2 bài the dục phát triển chung lớp 6 2022 20237 tháng trước#9
Top 3 bài giảng vũ điệu sắc màu (lớp 4) 20237 tháng trướcQuảng cáoXem NhiềuQuảng cáoChúng tôiTrợ giúpBản quyền © 2021 Xây Nhà Inc.
|