Thẻ meta Charset trong HTML5

Đặt mã hóa ký tự trong HTML5

Trước khi giới thiệu HTML5, hãy thiết lập mã hóa ký tự trên một tài liệu có phần tử yêu cầu để viết dòng có phần tiết lộ bên dưới. Đây là phần tử Meta Charset nếu bạn đang sử dụng HTML4 trong trang web của mình:

Điều quan trọng cần lưu ý trong codeare này là dấu ngoặc kép bạn thấy xung quanh thuộc tính content : content = " text / html; charset = iso-8859-1 " . Giống như tất cả các thuộc tính HTML, các dấu ngoặc kép này xác định giá trị của thuộc tính, cho biết toàn bộ chuỗi văn bản / html; charset = iso-8959-1nội dung của phần tử này. Đây là HTML thích hợp và đó là cách chuỗi này được viết. Nó cũng khó sử dụng lâu dài và xấu xí! Nó cũng không phải cái gì bạn có thể nhớ ra khỏi đỉnh đầu của bạn! Trong hầu hết các trường hợp, các nhà phát triển web sẽ phải sao chép và dán mã này từ một trang web vào bất kỳ trang web mới nào mà họ đang phát triển vì viết từ đầu này đã được hỏi rất nhiều.

HTML5 cắt bỏ phần bổ sung & # 34; Stuff & # 34;

HTML5 không chỉ thêm một số thành phần mới vào ngôn ngữ mà còn đơn giản hóa rất nhiều cú pháp của HTML, bao gồm phần tử Meta Charset. Với HTML5, bạn có thể thêm mã hóa ký tự của mình với cú pháp dễ nhớ hơn nhiều cho phần tử META bạn thấy bên dưới:

So sánh cú pháp đơn giản hóa với những gì chúng tôi đã viết ở đầu bài viết này, cú pháp cũ được sử dụng cho HTML4 và bạn sẽ thấy viết và ghi nhớ phiên bản HTML5 thực sự dễ dàng hơn bao nhiêu. Thay vì cần phải sao chép và dán từ trang web hiện tại vào bất kỳ trang web mới nào mà bạn đang thực hiện, đây hoàn toàn là điều mà, như một nhà phát triển web mặt trước, bạn có thể nhớ. Tiết kiệm thời gian này không nhiều, nhưng khi bạn xem xét các vùng cú pháp khác mà HTML5 đơn giản hóa, các khoản tiết kiệm sẽ tăng lên!

Luôn bao gồm mã hóa ký tự

Bạn nên luôn bao gồm mã hóa ký tự cho các trang web của mình, ngay cả khi bạn không bao giờ có ý định đánh cắp bất kỳ ký tự đặc biệt nào. Nếu bạn không bao gồm mã hóa ký tự, trang web của bạn trở nên dễ bị tấn công tập lệnh chéo trang web bằng UTF-7.

Trong trường hợp này, anattacker thấy rằng trang web của bạn không có mã hóa ký tự được xác định, do đó, nó lừa trình duyệt nghĩ rằng mã hóa ký tự của trang thực sự là UTF-7. Tiếp theo, kẻ tấn công tiêm các tập lệnh mã hóa UTF-7 vào trang web và trang web của bạn bị tấn công. Điều này rõ ràng là có vấn đề đối với mọi người liên quan, từ công ty bạn đến khách truy cập của bạn. Tin tốt là nó là một vấn đề đơn giản cần tránh - chỉ cần chắc chắn thêm mã hóa ký tự vào tất cả các trang web của bạn.

Nơi để thêm ký tự mã hóa

Mã hóa ký tự cho trang web phải là dòng đầu tiên của phần tử HTML của bạn. Điều này đảm bảo rằng trình duyệt biết mã hóa ký tự là gì trước khi nó hoạt động trên trang khác ngoài xác định loại tài liệu và xác định rằng đó là Trang HTML. HTML của bạn nên đọc:

...

Sử dụng tiêu đề HTTP để bảo mật thêm

Bạn cũng có thể chỉ định mã hóa ký tự trong tiêu đề HTTP. Điều này thậm chí còn an toàn hơn việc thêm nó vào trang HTML, nhưng bạn sẽ phải có quyền truy cập vào cấu hình máy chủ hoặc tệp .htaccess, có nghĩa là bạn có thể cần làm việc với nhà cung cấp dịch vụ lưu trữ trang web của mình để có được loại quyền truy cập này những thay đổi cho bạn. Truy cập thực sự là thách thức ở đây. Thay đổi chính nó là đơn giản, vì vậy bất kỳ nhà cung cấp hosting nào cũng có thể thực hiện thay đổi này một cách dễ dàng.

Nếu bạn đang sử dụngApache, bạn có thể đặt bộ ký tự mặc định cho toàn bộ trang web của mình bằng cách thêm: AddDefaultCharset UTF-8 vào tệp .htaccess gốc của bạn. Bộ ký tự mặc định của Apache là ISO-8859-1 .