Làm cách nào để giải mã các thẻ HTML trong JavaScript?
Các tập lệnh này nhằm giải thích cách "ẩn" HTML và/hoặc javascript khỏi những người khác xem mã nguồn trang của bạn. Nó không phải là hoàn hảo, nhưng nó làm cho việc đọc và hiểu mã nguồn trở nên khó khăn hơn. Do bản chất của cách thức hoạt động của các tập lệnh này, phần giải thích có vẻ phức tạp và dài dòng, nhưng hãy kiên nhẫn và nó sẽ có ý nghĩa khi bạn có một chút kinh nghiệm với chúng. Bạn không thực sự cần phải biết thông tin chi tiết về các tập lệnh này, nhưng nó sẽ giúp bạn hiểu cách thức và lý do chúng hoạt động. Vì vậy, hãy ngồi xuống và tôi sẽ cố gắng hết sức để làm cho điều này có vẻ không phức tạp nhất có thể Show Thoát / UnescapePhần đầu tiên của trang này giải thích cách "thoát" bất kỳ văn bản, HTML hoặc Javascript nào để khiến người dùng thông thường không thể đọc được. Mã thoát URL là các giá trị thập lục phân hai ký tự (8 bit) đứng trước dấu %. Điều này được sử dụng chủ yếu trong các URL của trình duyệt hoặc để sử dụng khi tạo cookie cho các ký tự không hoạt động, thường là do chúng là các ký tự dành riêng (như khoảng trắng và các ký tự tương tự) Ví dụ: nếu bạn có tên tệp HTML của trang một, thì mã URL đã thoát sẽ giống như trang%20one. %20 là giá trị thoát cho một khoảng trắng. Thông thường, bạn sẽ chỉ thoát khỏi các ký tự đặc biệt (thường là bất kỳ ký tự nào khác ngoài a-z, A-Z và 0-9), nhưng tập lệnh bên dưới thực sự thoát khỏi tất cả văn bản chỉ bằng cách thay thế tất cả các ký tự bằng các ký tự thoát tương đương của chúng. Vì vậy, nếu bạn hoàn toàn thoát khỏi trang một, nó sẽ giống như. %70%61%67%65%20%6F%6E%65. Bây giờ, không có văn bản nào có thể giải mã dễ dàng mặc dù phần lớn nó được tạo thành từ các ký tự bình thường Vì trình duyệt vốn có thể xử lý các mã thoát, nên điều này có thể được sử dụng khá dễ dàng mà không cần phải thêm bất kỳ tập lệnh nào để giải mã chúng. Vì vậy, nếu bạn muốn trình duyệt ghi văn bản đã thoát đó vào trang, bạn có thể làm điều gì đó như Tất cả những gì tôi đang làm ở đây là đặt chuỗi đã thoát vào một tập hợp dấu ngoặc kép (quan trọng. ), gói nó bên trong phương thức unescape() tích hợp, rồi gói nó trong một tài liệu. viết phương pháp. Điều này có vẻ hơi vô giá trị, nhưng bạn có thể ẩn địa chỉ email theo cách này để ngăn trình thu thập dữ liệu web lấy địa chỉ email của bạn từ trang web của bạn để sử dụng trong các email spam hàng loạt, nhưng vẫn cho phép khách truy cập đọc nó. Tất nhiên, trừ khi bạn thực sự thích nhận được những lời gạ gẫm Viagra. . ) Chẳng hạn, địa chỉ e-mail không trả lời Script Asylum được thoát hoàn toàn sẽ trông như thế này đối với trình thu thập dữ liệu web nhưng sẽ trông như thế này với khách truy cập noreply@scriptasylum. com Hai hộp văn bản bên dưới sẽ cho phép bạn thoát hoàn toàn và bỏ thoát bất kỳ văn bản nào bạn muốn. Chỉ cần nhập bất kỳ văn bản/HTML/JavaScript nào bạn muốn vào hộp bên trái và nhấp vào nút -> để thoát hoàn toàn. Tương tự như vậy, nhấp vào nút <-- để chuyển đổi nó trở lại văn bản bình thường để xác minh rằng nó giống với bản gốc. Bạn có thể sao chép và dán mã thoát vào trang của mình (đừng quên sử dụng unescape() và tài liệu. các phương thức write()) Giải mã mã hóaBây giờ, có lẽ bạn đã nhận ra rằng bạn có thể ẩn toàn bộ trang HTML bằng phương pháp trên; . Kích thước và dễ dàng "bẻ khóa" mã của bạn Khi bạn thoát hoàn toàn toàn bộ trang, mỗi ký tự sẽ trở thành 3 ký tự. Điều này sẽ tăng gấp ba lần kích thước trang của bạn. Không phải là vấn đề lớn nếu trang chỉ có kích thước khoảng 10-50 KByte; . Điều này sẽ làm chậm thời gian tải đối với những người lướt web không có kết nối băng thông rộng Ngoài ra, nếu ai đó xem mã nguồn của bạn, sẽ khá dễ dàng để biết bạn đang làm gì. Sau đó, họ có thể chỉ cần sao chép và dán mã và tạo một tập lệnh nhỏ để hiển thị nội dung bình thường. Không có cách nào tuyệt đối hoàn hảo (phía khách hàng) để ngăn ai đó xem nguồn của bạn nếu họ đủ quyết tâm; Vì vậy, để giải quyết cả hai mối quan tâm, bạn có thể mã hóa/giải mã văn bản. Một lần nữa, sẽ không dễ dàng để ngăn mọi người ăn cắp nội dung nguồn của bạn nếu họ thực sự muốn nó. Tôi thực sự đang sử dụng các thuật ngữ "mã hóa" và "giải mã" một cách lỏng lẻo ở đây; . Đầu ra được mã hóa sẽ dài hơn một chút so với văn bản gốc, nhưng ít hơn nhiều so với việc bạn chỉ đơn giản thoát khỏi tất cả Phần trên chỉ thoát khỏi văn bản. Phần bên dưới thực sự thay đổi các giá trị Unicode để kết quả trông giống như vô nghĩa. Hãy thử và bạn sẽ thấy; Các bước sau đây là những gì tập lệnh thực hiện để thực hiện hiệu ứng này khi bạn nhấp vào nút -> (mã hóa)
Thật không may, trình duyệt không có bất kỳ khả năng tích hợp nào để xử lý việc giải mã, vì vậy chúng tôi phải sử dụng một chức năng cho việc đó. Vì vậy, bạn phải thoát chức năng xử lý giải mã để ẩn phần đó và để trình duyệt ghi nó vào tài liệu. Bạn không thực sự cần phải thoát khỏi chức năng giải mã, nhưng điều đó sẽ khiến ai đó khó hiểu chuyện gì đang xảy ra hơn rất nhiều. Sau đó, chức năng giải mã có thể được sử dụng để giải mã phần còn lại của bất kỳ nội dung nào bạn đã mã hóa. Tôi sẽ phác thảo từng bước bên dưới để làm cho việc này bớt khó hiểu hơn
Vì vậy, để kết hợp tất cả những điều này lại với nhau, sau đây là nội dung bạn sẽ dán vào trang của mình Tôi đã đánh dấu phần giải mã chức năng bộ giải mã bằng màu xanh lá cây và phần giải mã tập lệnh tải trước và ghi nó vào trang bằng màu xanh lam đậm. Bạn chỉ cần dán toàn bộ phần trên vào trang của mình và tập lệnh sẽ hoạt động hoàn hảo giống như nếu nó là tiếng Anh cổ đơn giản. Vâng, có vẻ khó hiểu, nhưng đó là vấn đề phải không? . toàn bộ chuỗi sẽ xuất hiện trên một dòng; Điều tương tự cũng được thực hiện nếu bạn muốn mã hóa toàn bộ trang HTML, ngoại trừ phần được mã hóa của chuỗi (màu xanh đậm) có thể LỚN. Tuy nhiên, chức năng thoát (màu xanh lá cây) sẽ không thay đổi Tôi đã tạo một số thuật sĩ mà bạn có thể sử dụng cho các mục đích khác nhau. Bạn có thể đạt được điều tương tự bằng cách sử dụng các hàm thoát/bỏ thoát và bộ mã hóa/giải mã ở trên, nhưng chúng chuyên dùng để loại bỏ một số phỏng đoán. Mỗi liên kết bên dưới sẽ mở ra một cửa sổ mới Làm cách nào để giải mã các thẻ HTML?Bộ giải mã HTML
. Sao chép, Dán và Giải mã. Bộ giải mã HTML này là một công cụ hoặc chương trình được sử dụng để chuyển đổi văn bản được mã hóa HTML trở lại dạng ban đầu, chưa được mã hóa.
Làm cách nào để mã hóa các thẻ HTML trong JavaScript?Sử dụng thuộc tính textContent
. Chúng ta có thể sử dụng thuộc tính textContent của phần tử HTML Textarea và chèn chuỗi HTML. Sau đó, chúng ta có thể lấy chuỗi được mã hóa bằng Unicode bằng thuộc tính innerHTML.
Làm cách nào để giải mã văn bản trong JavaScript?Giải mã. Trong JavaScript, để giải mã một chuỗi phương thức unescape() được sử dụng . Phương thức này lấy một chuỗi, được mã hóa bởi phương thức escape() và giải mã nó. Các ký tự thập lục phân trong một chuỗi sẽ được thay thế bằng các ký tự thực mà chúng đại diện bằng phương thức unescape().
Làm cách nào để xử lý các thực thể HTML trong JavaScript?chỉ cần Gọi một Hàm với một đối số. . Giải mã hàm thực thể HTML decodeHTMLEntities(text) { var textArea = document. . Decode HTML-entities (JQuery) function decodeHTMLEntities(text) { return $(""). .. . Mã hóa chức năng thực thể HTML mã hóaHTMLEntities(text) { var textArea = document |