Skip to main content

Meta Charset Tag - Ustaw kodowanie znaków w HTML5

HTML5 Tutorial For Beginners 4 # HTML meta tags (Kwiecień 2025)

HTML5 Tutorial For Beginners 4 # HTML meta tags (Kwiecień 2025)
Anonim

Przed wprowadzeniem HTML5, ustawienie kodowania znaków na dokumencie z elementem wymaganym, aby napisać nieco obszerną linię widoczną poniżej. To jest element Meta Charset, jeśli używasz HTML4 na swojej stronie:

W tym kodzie należy pamiętać o cudzysłowach widocznych w okolicy zawartość atrybut: content = ' text / html; charset = iso-8859-1 ' . Podobnie jak wszystkie atrybuty HTML, te cudzysłowy definiują wartość atrybutu, wskazując cały ciąg text / html; charset = iso-8959-1 jest zawartość tego elementu. Jest to poprawny HTML i tak powinien być napisany ten ciąg. Jest również nieporęczna i brzydka! To także nie jest coś, co najprawdopodobniej pamiętasz z czubka głowy! W większości przypadków twórcy stron musieliby kopiować i wklejać ten kod z jednej strony do dowolnej nowej, ponieważ ich pisanie od zera było bardzo ważne.

HTML5 wycina dodatkowe "rzeczy"

HTML5 nie tylko dodał wiele nowych elementów do języka, ale także znacznie uprościł wiele składni HTML, w tym elementu Meta Charset. Z HTML5 możesz dodać kodowanie znaków z łatwiejszą do zapamiętania składnią dlaMETA element, który widzisz poniżej:

Porównaj tę uproszczoną składnię z tym, co napisaliśmy na początku tego artykułu, ze starą składnią używaną w HTML4, a zobaczysz, o ile łatwiej jest pisać i zapamiętywać wersję HTML5. Zamiast konieczności kopiowania i wklejania tego z istniejącej witryny do dowolnego nowego, nad którym pracujesz, jest to absolutnie coś, co jako front-endowy programista możesz zapamiętać. Oszczędność czasu nie jest dużo, ale gdy weźmiesz pod uwagę inne obszary składni uproszczone w HTML5, oszczędności się sumują!

Zawsze dołączaj kodowanie znaków

Powinieneś zawsze dołączać kodowanie znaków do swoich stron internetowych, nawet jeśli nie masz zamiaru dodawać żadnych znaków specjalnych. Jeśli nie uwzględnisz kodowania znaków, twoja strona stanie się podatna na ataki typu cross-site scripting za pomocą UTF-7.

W tym scenariuszu anattacker widzi, że twoja strona nie ma zdefiniowanego kodowania znaków, więc nakłania ją do myślenia, że ​​kodowanie znaków strony jest w rzeczywistości UTF-7. Następnie atakujący wstrzykuje zakodowane w UTF-7 skrypty na stronę internetową i twoja witryna jest zhakowana. Jest to oczywiście problematyczne dla wszystkich zaangażowanych, od twojej firmy po odwiedzających. Dobrą wiadomością jest to, że unikamy prostego problemu - wystarczy, że dodasz kodowanie znaków do wszystkich swoich stron internetowych.

Gdzie dodać kodowanie znaków

Kodowanie znaków strony internetowej powinno być pierwszą linią kodu HTML element. Zapewnia to, że przeglądarka zna kodowanie znaków, zanim zrobi cokolwiek innego na stronie, niż określenie typu dokumentu i określenie, że jest to strona HTML. Twój HTML powinien przeczytać:

Używanie nagłówków HTTP dla dodatkowych zabezpieczeń

Możesz także określić kodowanie znaków w nagłówkach HTTP. Jest to jeszcze bezpieczniejsze niż dodanie go do strony HTML, ale musisz mieć dostęp do konfiguracji serwera lub plików .htaccess, co oznacza, że ​​możesz potrzebować pracować z dostawcą hostingu swojej witryny, aby uzyskać ten dostęp lub zlecić ich zmiany dla ciebie. Dostęp jest naprawdę wyzwaniem. Sama zmiana jest prosta, więc każdy dostawca usług hostingowych powinien być w stanie wprowadzić tę zmianę ze względną łatwością.

Jeśli korzystasz zApache, możesz ustawić domyślny zestaw znaków dla całej witryny, dodając: AddDefaultCharset UTF-8 do twojego korzenia .htaccess plik. Domyślny zestaw znaków Apache to ISO-8859-1.