Hướng dẫn module not found error can t resolve sanitize html - lỗi không tìm thấy mô-đun không thể giải quyết sanitize html
Này @abea. Cung cấp các chi tiết về cách tôi đang sử dụng nó trong Angular. Show
Xin lưu ý: Đảm bảo rằng lỗi tồn tại trong cấp độ bản vá mới nhất của dự án. Chẳng hạn, nếu bạn đang chạy phiên bản apostrophe 2.x, bạn nên sử dụng phiên bản mới nhất trong phiên bản chính đó để xác nhận lỗi. Để sinh sảnHướng dẫn từng bước để tái tạo hành vi: Sau khi cài đặt gói tiếp theo: "@type/sanitize-html": "1.27.0", "sanitize-html": "2.2.0", Và trong nhập thành phần góc Nhập SANITIZEHTML từ 'Sanitize-HTML'; ngonInit (): void {super.ngoninit (); const html = 'Hello World'; Console.log ('vệ sinh', sanitizehtml (html)); } Lỗi trong. Lỗi trong. Lỗi trong. Mô tả lỗiv10.20.1 Phiên bản của Node.js: V10.20.1 Hệ điều hành máy chủ: Windows Bối cảnh bổ sung: Chrome Hành vi mong đợi:Không ném ngoại lệ.
Sanitize-HTML cung cấp chất khử trùng HTML đơn giản với API rõ ràng. vệ sinh-HTML có khả năng chịu đựng. Nó rất phù hợp để làm sạch các mảnh HTML như các mảnh được tạo bởi CKeditor và các biên tập viên văn bản phong phú khác. Nó đặc biệt tiện dụng để loại bỏ CSS không mong muốn khi sao chép và dán từ Word. Sanitize-HTML cho phép bạn chỉ định các thẻ bạn muốn cho phép và các thuộc tính được phép cho mỗi thẻ đó. Nếu một thẻ không được phép, nội dung của thẻ không bị loại bỏ. Có một số ngoại lệ cho điều này, được thảo luận dưới đây trong phần "Vứt bỏ toàn bộ nội dung của một thẻ không được phép". Cú pháp của các yếu tố 9 và import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));0 được đóng lại kém được làm sạch. Các thuộc tính import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));1 được xác thực để đảm bảo chúng chỉ chứa import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));2, import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));3, import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));4 và import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));5 URL. URL tương đối cũng được cho phép. Ditto cho các thuộc tính import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));6. Cho phép các URL cụ thể dưới dạng import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));6 cho thẻ iframe bằng cách lọc tên máy chủ cũng được hỗ trợ. Nhận xét HTML không được bảo tồn. Ngoài ra, import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));8 thoát khỏi tất cả các nội dung văn bản-điều này có nghĩa là các dấu hiệu ampersand, lớn hơn và ít hơn so với các dấu hiệu được chuyển đổi thành tham chiếu ký tự HTML tương đương của chúng ( import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));9-> npm install sanitize-html0, npm install sanitize-html1-> npm install sanitize-html2, v.v.). Ngoài ra, trong các giá trị thuộc tính, các dấu ngoặc kép cũng được thoát ( npm install sanitize-html3 -> npm install sanitize-html4). Yêu cầuSanitize-HTML được dự định để sử dụng với Node.js và hỗ trợ Node 10+. Tất cả các phụ thuộc NPM của nó là JavaScript thuần túy. Sanitize-HTML được xây dựng trên mô-đun npm install sanitize-html5 tuyệt vời. Liên quan đến TypeScriptSanitize-HTML không được viết bằng TypeScript và không có kế hoạch hỗ trợ trực tiếp. Tuy nhiên, có một định nghĩa gõ được hỗ trợ cộng đồng, npm install sanitize-html6. npm install -D @types/sanitize-html Nếu npm install sanitize-html7 không được đặt trong tệp npm install sanitize-html8 của bạn, bạn phải nhập nó với: import * as sanitizeHtml from 'sanitize-html'; Bất kỳ câu hỏi hoặc vấn đề nào trong khi sử dụng npm install sanitize-html6 nên được hướng đến những người duy trì theo chỉ dẫn của các hướng dẫn đóng góp của dự án đó. Cách sử dụngTrình duyệtHãy nghĩ trước: Tại sao bạn muốn sử dụng nó trong trình duyệt? Hãy nhớ rằng, máy chủ không bao giờ tin tưởng các trình duyệt. Bạn không thể vệ sinh HTML để lưu trên máy chủ ở bất cứ nơi nào khác ngoài trên máy chủ. Nhưng, có lẽ bạn muốn hiển thị HTML được khử trùng ngay lập tức trong trình duyệt để xem trước. Hoặc yêu cầu trình duyệt thực hiện công việc vệ sinh trên mỗi tải trang. Bạn có thể nếu bạn muốn!
npm install sanitize-html hoặc
Thay đổi chính trong phiên bản 2.x của Sanitize-HTML là nó không còn bao gồm bản dựng đã sẵn sàng để sử dụng trình duyệt. Các nhà phát triển dự kiến sẽ bao gồm Sanitize-HTML trong các bản dựng dự án của họ (ví dụ: trang web) vì họ sẽ phụ thuộc khác. Vì vậy, trong khi Sanitize-HTML không còn sẵn sàng liên kết trực tiếp trong HTML, các nhà phát triển giờ đây có thể dễ dàng xử lý nó theo nhu cầu của họ. Sau khi được xây dựng và liên kết trong trình duyệt với các JavaScript dự án khác, nó có thể được sử dụng để vệ sinh chuỗi HTML trong mã đầu tiên: import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml("")); Nút (được đề xuất)Cài đặt mô -đun từ bảng điều khiển: npm install sanitize-html Nhập mô -đun: // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html'); Sử dụng nó trong ứng dụng JavaScript của bạn: const dirty = 'some really tacky HTML'; const clean = sanitizeHtml(dirty); Điều đó sẽ cho phép danh sách mặc định của chúng tôi các thẻ và thuộc tính được phép thông qua. Đó là một bộ đẹp, nhưng có lẽ không hoàn toàn những gì bạn muốn. Vì thế: // Allow only a super restricted set of tags and attributes const clean = sanitizeHtml(dirty, { allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], allowedAttributes: { 'a': [ 'href' ] }, allowedIframeHostnames: ['www.youtube.com'] }); Boom! Tùy chọn mặc địnhnpm install -D @types/sanitize-html0 Trường hợp sử dụng phổ biến"Tôi thích bộ của bạn nhưng tôi muốn thêm một thẻ nữa. Có cách nào thuận tiện không?"Sure: npm install -D @types/sanitize-html1 Nếu bạn không chỉ định // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');0 hoặc // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');1, danh sách mặc định của chúng tôi được áp dụng. Vì vậy, nếu bạn thực sự muốn một danh sách trống, chỉ định một. "Điều gì sẽ xảy ra nếu tôi muốn cho phép tất cả các thẻ hoặc tất cả các thuộc tính?"Giản dị! Thay vì rời khỏi // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');0 hoặc // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');1 ra khỏi các tùy chọn, hãy đặt một hoặc cả hai thành // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');4: npm install -D @types/sanitize-html2 "Điều gì sẽ xảy ra nếu tôi không muốn cho phép bất kỳ thẻ nào?"Cũng đơn giản! Đặt // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');0 thành // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');6 và // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');1 thành // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');8. npm install -D @types/sanitize-html3 "Điều gì sẽ xảy ra nếu tôi muốn các thẻ không cho phép được thoát ra thay vì bị loại bỏ?"Nếu bạn đặt // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');9 thành const dirty = 'some really tacky HTML'; const clean = sanitizeHtml(dirty);0 (mặc định), các thẻ không được phép sẽ bị loại bỏ. Bất kỳ nội dung văn bản hoặc phụ vẫn được bao gồm, tùy thuộc vào việc các phân chia riêng lẻ có được phép hay không. Nếu bạn đặt // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');9 thành const dirty = 'some really tacky HTML'; const clean = sanitizeHtml(dirty);2, các thẻ không được phép được thoát ra thay vì loại bỏ. Bất kỳ văn bản hoặc phụ được xử lý bình thường. Nếu bạn đặt // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');9 thành const dirty = 'some really tacky HTML'; const clean = sanitizeHtml(dirty);4, các thẻ không được phép được thoát ra thay vì loại bỏ và điều trị tương tự được áp dụng cho tất cả các khoản phụ, dù có được phép hay không. "Điều gì sẽ xảy ra nếu tôi chỉ cho phép các giá trị cụ thể trên một số thuộc tính?"Khi định cấu hình thuộc tính trong // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');1 chỉ cần sử dụng một đối tượng với thuộc tính const dirty = 'some really tacky HTML'; const clean = sanitizeHtml(dirty);6 và mảng const dirty = 'some really tacky HTML'; const clean = sanitizeHtml(dirty);7 được phép. Trong ví dụ sau const dirty = 'some really tacky HTML'; const clean = sanitizeHtml(dirty);8 sẽ trở thành const dirty = 'some really tacky HTML'; const clean = sanitizeHtml(dirty);9: npm install -D @types/sanitize-html4 Với // Allow only a super restricted set of tags and attributes const clean = sanitizeHtml(dirty, { allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], allowedAttributes: { 'a': [ 'href' ] }, allowedIframeHostnames: ['www.youtube.com'] });0, một số giá trị được phép có thể xuất hiện trong cùng một thuộc tính, được phân tách bằng khoảng trắng. Nếu không, thuộc tính phải khớp chính xác với một và chỉ một trong các giá trị được phép. HOA HỒNG cho các thuộc tínhBạn có thể sử dụng ký tự đại diện // Allow only a super restricted set of tags and attributes const clean = sanitizeHtml(dirty, { allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], allowedAttributes: { 'a': [ 'href' ] }, allowedIframeHostnames: ['www.youtube.com'] });1 để cho phép tất cả các thuộc tính với một tiền tố nhất định: npm install -D @types/sanitize-html5 Ngoài ra, bạn có thể sử dụng // Allow only a super restricted set of tags and attributes const clean = sanitizeHtml(dirty, { allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], allowedAttributes: { 'a': [ 'href' ] }, allowedIframeHostnames: ['www.youtube.com'] });1 làm tên cho thẻ, để cho phép các thuộc tính được liệt kê có hiệu lực đối với bất kỳ thẻ nào: npm install -D @types/sanitize-html6 Tùy chọn bổ sungCho phép các lớp CSSNếu bạn muốn cho phép các lớp CSS cụ thể trên một yếu tố cụ thể, bạn có thể làm như vậy với tùy chọn // Allow only a super restricted set of tags and attributes const clean = sanitizeHtml(dirty, { allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], allowedAttributes: { 'a': [ 'href' ] }, allowedIframeHostnames: ['www.youtube.com'] });3. Bất kỳ lớp CSS khác đều bị loại bỏ. Điều này ngụ ý rằng thuộc tính // Allow only a super restricted set of tags and attributes const clean = sanitizeHtml(dirty, { allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], allowedAttributes: { 'a': [ 'href' ] }, allowedIframeHostnames: ['www.youtube.com'] });4 được cho phép trên phần tử đó. npm install -D @types/sanitize-html7 Tương tự như // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');1, bạn có thể sử dụng // Allow only a super restricted set of tags and attributes const clean = sanitizeHtml(dirty, { allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], allowedAttributes: { 'a': [ 'href' ] }, allowedIframeHostnames: ['www.youtube.com'] });1 để cho phép các lớp có tiền tố nhất định hoặc sử dụng // Allow only a super restricted set of tags and attributes const clean = sanitizeHtml(dirty, { allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], allowedAttributes: { 'a': [ 'href' ] }, allowedIframeHostnames: ['www.youtube.com'] });1 làm tên thẻ để cho phép các lớp được liệt kê có hiệu lực đối với bất kỳ thẻ nào: npm install -D @types/sanitize-html8 Hơn nữa, các biểu thức thông thường cũng được hỗ trợ: npm install -D @types/sanitize-html9
Cho phép phong cách CSSNếu bạn muốn cho phép các kiểu CSS cụ thể trên một yếu tố cụ thể, bạn có thể thực hiện điều đó với tùy chọn npm install -D @types/sanitize-html01. Chỉ cần khai báo các thuộc tính mong muốn của bạn là các tùy chọn biểu thức thông thường trong một mảng cho thuộc tính đã cho. Các yếu tố cụ thể sẽ kế thừa các thuộc tính được liệt kê cho phép từ thuộc tính toàn cầu ( // Allow only a super restricted set of tags and attributes const clean = sanitizeHtml(dirty, { allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], allowedAttributes: { 'a': [ 'href' ] }, allowedIframeHostnames: ['www.youtube.com'] });1). Bất kỳ lớp CSS khác đều bị loại bỏ. Bạn cũng phải sử dụng npm install -D @types/sanitize-html04 attribute for the relevant elements. Otherwise this feature will never come into play. Khi xây dựng các biểu thức chính quy, đừng quên URL theo kiểu nội tuyến không được lọc bởi bất kỳ cơ chế nào ngoài biểu thức thông thường của bạn. import * as sanitizeHtml from 'sanitize-html';0 Loại bỏ văn bản bên ngoài thẻ npm install -D @types/sanitize-html07Một số ứng dụng chỉnh sửa văn bản tạo HTML để cho phép sao chép vào ứng dụng web. Chúng đôi khi có thể bao gồm các ký tự điều khiển không mong muốn sau khi chấm dứt thẻ npm install -D @types/sanitize-html08. Theo mặc định, Sanitize-HTML sẽ không loại bỏ các ký tự này, thay vào đó, trả lại chúng trong chuỗi khử trùng. Hành vi này có thể được sửa đổi bằng tùy chọn npm install -D @types/sanitize-html09. Đặt tùy chọn này thành True sẽ hướng dẫn Sanitize-HTML loại bỏ tất cả các ký tự bên ngoài ranh giới thẻ npm install -D @types/sanitize-html08-trước npm install -D @types/sanitize-html11 và sau các thẻ npm install -D @types/sanitize-html12. import * as sanitizeHtml from 'sanitize-html';1 Tùy chọn HTMLPARSER2Sanitize-HTML được xây dựng trên npm install sanitize-html5. Theo mặc định, tùy chọn duy nhất được truyền lại là npm install -D @types/sanitize-html14. Bạn có thể đặt các tùy chọn để vượt qua bằng cách sử dụng tùy chọn trình phân tích cú pháp. Lưu ý bảo mật: Thay đổi cài đặt npm install -D @types/sanitize-html16 has known security concerns and a complete test suite does not exist for every possible combination of settings when used with import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));8. If security is your goal we recommend you use the defaults rather than changing npm install -D @types/sanitize-html15, except for the npm install -D @types/sanitize-html19 option. import * as sanitizeHtml from 'sanitize-html';2 Xem wiki HTMLPARSER2 để biết danh sách đầy đủ các tùy chọn có thể. Biến đổiĐiều gì sẽ xảy ra nếu bạn muốn thêm hoặc thay đổi một thuộc tính? Điều gì sẽ xảy ra nếu bạn muốn chuyển đổi thẻ này sang thẻ khác? Không sao, nó đơn giản! Cách dễ nhất (sẽ thay đổi tất cả các thẻ npm install -D @types/sanitize-html20 thành thẻ npm install -D @types/sanitize-html21): import * as sanitizeHtml from 'sanitize-html';3 Cách sử dụng tiên tiến nhất: import * as sanitizeHtml from 'sanitize-html';4 Bạn có thể chỉ định ký tự đại diện // Allow only a super restricted set of tags and attributes const clean = sanitizeHtml(dirty, { allowedTags: [ 'b', 'i', 'em', 'strong', 'a' ], allowedAttributes: { 'a': [ 'href' ] }, allowedIframeHostnames: ['www.youtube.com'] });1 thay vì tên thẻ để chuyển đổi tất cả các thẻ. Ngoài ra còn có một phương thức trợ giúp là đủ cho các trường hợp đơn giản mà bạn muốn thay đổi thẻ và/hoặc thêm một số thuộc tính: import * as sanitizeHtml from 'sanitize-html';5 Phương pháp trợ giúp npm install -D @types/sanitize-html23 có 3 tham số: import * as sanitizeHtml from 'sanitize-html';6 Tham số cuối cùng ( npm install -D @types/sanitize-html24) được đặt thành npm install -D @types/sanitize-html25 theo mặc định. Khi npm install -D @types/sanitize-html25, npm install -D @types/sanitize-html23 sẽ hợp nhất các thuộc tính hiện tại với các thuộc tính mới ( npm install -D @types/sanitize-html28). Khi // In ES modules import sanitizeHtml from 'sanitize-html'; // Or in CommonJS const sanitizeHtml = require('sanitize-html');4, tất cả các thuộc tính hiện có bị loại bỏ. Bạn cũng có thể thêm hoặc sửa đổi nội dung văn bản của thẻ: import * as sanitizeHtml from 'sanitize-html';7 Ví dụ: bạn có thể chuyển đổi một phần tử liên kết với văn bản neo bị thiếu: import * as sanitizeHtml from 'sanitize-html';8 Đến một liên kết với văn bản neo: import * as sanitizeHtml from 'sanitize-html';9 Bộ lọcBạn có thể cung cấp một chức năng bộ lọc để xóa các thẻ không mong muốn. Giả sử chúng ta cần xóa các thẻ npm install -D @types/sanitize-html30 trống như: Chúng ta có thể làm điều đó với bộ lọc sau: npm install sanitize-html0 Đối tượng npm install -D @types/sanitize-html31 được cung cấp cho cuộc gọi lại cung cấp các thuộc tính sau:
Bạn cũng có thể xử lý tất cả nội dung văn bản với chức năng bộ lọc được cung cấp. Giả sử chúng tôi muốn một dấu chấm lửng thay vì ba chấm. Chúng ta có thể làm điều đó với bộ lọc sau: npm install sanitize-html1 Đối tượng npm install -D @types/sanitize-html31 được cung cấp cho cuộc gọi lại cung cấp các thuộc tính sau: npm install -D @types/sanitize-html32: Tên thẻ, tức là npm install -D @types/sanitize-html33.
npm install -D @types/sanitize-html34: Các thuộc tính của thẻ, tức là npm install -D @types/sanitize-html35.
npm install -D @types/sanitize-html36: Nội dung văn bản của thẻ.
npm install -D @types/sanitize-html37: Thẻ con ngay lập tức có khả năng đại diện cho phương tiện khép kín (ví dụ: import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));0, npm install -D @types/sanitize-html39, npm install -D @types/sanitize-html40, npm install -D @types/sanitize-html41). Xem biến npm install -D @types/sanitize-html42 trong npm install -D @types/sanitize-html43 để biết danh sách đầy đủ. npm install sanitize-html2
npm install -D @types/sanitize-html44: Chỉ mục của vị trí của thẻ trong chuỗi kết quả. npm install sanitize-html3 Bạn cũng có thể xử lý tất cả nội dung văn bản với chức năng bộ lọc được cung cấp. Giả sử chúng tôi muốn một dấu chấm lửng thay vì ba chấm. Lưu ý rằng văn bản được chuyển đến phương thức Bộ lọc iframe npm install sanitize-html4 Nếu bạn muốn cho phép các thẻ iframe nhưng muốn kiểm soát các tên miền được phép thông qua, bạn có thể cung cấp một mảng tên máy chủ và/hoặc mảng tên miền mà bạn muốn cho phép như các nguồn iframe. Tên máy chủ này là một thuộc tính trong đối tượng Tùy chọn được truyền dưới dạng đối số cho chức năng Sanitize-HTML. npm install sanitize-html5 Các mảng này sẽ được kiểm tra đối với HTML được truyền vào hàm và chỉ trả về URL import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));6 bao gồm tên máy chủ hoặc tên miền được phép trong đối tượng. URL trong HTML được truyền phải được định dạng chính xác (tên máy chủ hợp lệ) dưới dạng iframe được nhúng nếu không mô -đun sẽ loại bỏ SRC khỏi iframe. npm install sanitize-html6 Đảm bảo vượt qua tên máy chủ hợp lệ cùng với tên miền bạn muốn cho phép, tức là: Bạn cũng có thể chỉ định xem có cho phép các URL tương đối như các nguồn iframe hay không. npm install sanitize-html7 Lưu ý rằng nếu không xác định, các URL tương đối sẽ được cho phép theo mặc định nếu không có bộ lọc tên máy chủ hoặc bộ lọc tên miền được cung cấp nhưng bị xóa theo mặc định nếu một bộ lọc tên máy chủ hoặc bộ lọc tên miền được cung cấp.Hãy nhớ rằng thẻ npm install -D @types/sanitize-html41 phải được cho phép cũng như thuộc tính import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));6. npm install sanitize-html8 Ví dụ: npm install sanitize-html9 sẽ đi qua dưới dạng an toàn trong khi:hoặc 0Sẽ trả về một thẻ iframe trống. 1Nếu bạn muốn cho phép bất kỳ tên miền phụ nào của bất kỳ cấp độ nào, bạn có thể cung cấp tên miền trong npm install -D @types/sanitize-html50 2
Bộ lọc kịch bản 3Tương tự như IFRAME, bạn có thể cho phép thẻ tập lệnh trên danh sách các tên miền được liệt kêBạn cũng có thể cho phép một thẻ tập lệnh trên danh sách tên máy chủ được liệt kê Cho phép các sơ đồ URL Theo mặc định, chúng tôi cho phép các sơ đồ URL sau trong trường hợp cho phép import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));1, import sanitizeHtml from 'sanitize-html'; const html = "hello world"; console.log(sanitizeHtml(html)); console.log(sanitizeHtml("")); console.log(sanitizeHtml("console.log('hello world')")); console.log(sanitizeHtml(""));6, v.v. Bạn có thể ghi đè lên điều này nếu bạn muốn: 4Bạn cũng có thể chỉ cho phép một sơ đồ cho một thẻ cụ thể: Và bạn có thể cấm sử dụng các URL liên quan đến giao thức (bắt đầu bằng npm install -D @types/sanitize-html53) để truy cập một trang web khác bằng giao thức hiện tại, được cho phép theo mặc định: Chọn những việc cần làm với các thẻ không được phépThay vì loại bỏ hoặc chỉ giữ văn bản, bạn có thể kích hoạt việc thoát toàn bộ nội dung: 5Điều này sẽ chuyển đổi npm install -D @types/sanitize-html66 thành npm install -D @types/sanitize-html67 Các giá trị hợp lệ là: npm install -D @types/sanitize-html68 (mặc định), npm install -D @types/sanitize-html69 (thoát thẻ) và npm install -D @types/sanitize-html70 (để thoát khỏi thẻ và tất cả nội dung của nó). Hạn chế làm tổ sâuBạn có thể giới hạn độ sâu của thẻ HTML trong tài liệu với tùy chọn npm install -D @types/sanitize-html71: Điều này sẽ ngăn người dùng làm tổ sâu hơn 6 cấp độ. Tags sâu hơn điều đó bị tước chính xác như thể chúng không được phép. Lưu ý rằng điều này có nghĩa là văn bản được bảo tồn theo những cách thông thường khi thích hợp. Về ApostrophecmsSanitize-HTML đã được tạo tại Đại lộ P'unk để sử dụng trong Apostrophecms, một hệ thống quản lý nội dung nguồn mở được xây dựng trên Node.js. Nếu bạn thích sanitize-HTML, bạn chắc chắn nên kiểm tra Apostrophecms. Ủng hộHãy thoải mái mở các vấn đề trên GitHub. Làm thế nào để vệ sinh HTML?sethtml () được sử dụng để vệ sinh một chuỗi HTML và chèn nó vào phần tử bằng một ID mục tiêu.Phần tử tập lệnh không được phép bởi chất khử trùng mặc định để cảnh báo bị xóa. is used to sanitize a string of HTML and insert it into the Element with an id of target . The script element is disallowed by the default sanitizer so the alert is removed.
Làm thế nào TypeScript khử trùng HTML?Làm thế nào TypeScript khử trùng HTML ?.. NPM Cài đặt -D @TYPE/SANITIZE -HTML.Nếu esmoduleInterop = true không được đặt trong tsconfig của bạn .. nhập * như sanitizehtml từ 'sanitize-html' ;. NPM Cài đặt Sanitize-HTML .. Khi nào bạn nên vệ sinh HTML?Việc vệ sinh HTML có thể được sử dụng để bảo vệ chống lại các cuộc tấn công như kịch bản chéo trang (XSS) bằng cách vệ sinh bất kỳ mã HTML nào được gửi bởi người dùng.to protect against attacks such as cross-site scripting (XSS) by sanitizing any HTML code submitted by a user.
Vệ sinh trong JavaScript là gì?Phương pháp khử trùng () của giao diện khử trùng được sử dụng để vệ sinh một cây các nút dom, loại bỏ bất kỳ phần tử hoặc thuộc tính không mong muốn nào.Nó nên được sử dụng khi dữ liệu được vệ sinh đã có sẵn dưới dạng các nút dom.Ví dụ khi vệ sinh một thể hiện tài liệu trong khung.used to sanitize a tree of DOM nodes, removing any unwanted elements or attributes. It should be used when the data to be sanitized is already available as DOM nodes. For example when sanitizing a Document instance in a frame. |