एचटीएमएल 5 में मेटा वर्णसेट टैग

एचटीएमएल 5 में कैरेक्टर एन्कोडिंग सेट करना

एचटीएमएल 5 की शुरूआत से पहले, एक दस्तावेज़ पर चरित्र एन्कोडिंग को एक तत्व के साथ सेट किया गया है जिसे आप नीचे देखे गए कुछ वर्बोज़ लाइन लिखने के लिए तैयार करते हैं। यदि आप अपने वेब पेज में HTML4 का उपयोग कर रहे थे तो यह मेटा वर्णसेट तत्व है:

<मेटा http-equiv = "content-type" content = "text / html; charset = iso-8859-1">

सामग्री कोड के आस-पास के उद्धरण चिह्नों को इस कोडरेयर में नोटिस करना महत्वपूर्ण है: सामग्री = " टेक्स्ट / एचटीएमएल; वर्णसेट = आईएसओ -885 9 -1 " । सभी HTML विशेषताओं की तरह, ये उद्धरण चिह्न विशेषता के मान को परिभाषित करते हैं, जो दर्शाते हैं कि संपूर्ण स्ट्रिंग टेक्स्ट / एचटीएमएल; charset = iso-8959-1 इस तत्व की सामग्री है। यह उचित HTML है और यह है कि यह स्ट्रिंग कैसे लिखी गई थी। यह भी लंबे समय तक लापरवाही और बदसूरत है! यह ऐसा कुछ भी नहीं है जिसे आप अपने सिर के ऊपर से याद रखेंगे! ज्यादातर मामलों में, वेब डेवलपर्स को इस कोड को एक साइट से कॉपी और पेस्ट करना होगा, जिसे वे विकसित कर रहे थे क्योंकि स्क्रैच से इसे लिखना बहुत कुछ पूछ रहा था।

एचटीएमएल 5 अतिरिक्त & # 34; सामग्री & # 34;

एचटीएमएल 5 ने न केवल भाषा में कई नए तत्व जोड़े हैं, बल्कि यह मेटा वर्णसेट तत्व सहित एचटीएमएल के सिंटैक्स से काफी सरल है। एचटीएमएल 5, आप मेटा तत्व के लिए वाक्यविन्यास को याद रखने के लिए अपने चरित्र एन्कोडिंग को जोड़ सकते हैं। आप नीचे देखें:

<मेटा charset = "utf-8">

इस आलेख की शुरुआत में हमने जो लिखा है, उस सरलीकृत वाक्यविन्यास की तुलना करें, HTML4 के लिए उपयोग किया गया पुराना वाक्यविन्यास, और आप देखेंगे कि HTML5 संस्करण वास्तव में लिखना और याद रखना कितना आसान है। किसी मौजूदा साइट से इसे किसी नए साइट पर कॉपी और पेस्ट करने की आवश्यकता के बजाय आप काम कर रहे थे, यह बिल्कुल कुछ ऐसा है जो फ्रंट एंड वेब डेवलपर के रूप में आपको याद रख सकता है। समय की यह बचत बहुत अधिक नहीं है, लेकिन जब आप अन्य सिंटैक्स क्षेत्रों पर विचार करते हैं जो HTML5 को सरलीकृत करते हैं, तो बचत बढ़ जाती है!

हमेशा वर्ण एन्कोडिंग शामिल करें

आपको हमेशा अपने वेब पृष्ठों के लिए वर्ण एन्कोडिंग शामिल करना चाहिए, भले ही आपने कभी भी किसी खास वर्ण को टाज़ नहीं किया हो। यदि आप एक वर्ण एन्कोडिंग शामिल नहीं करते हैं, तो आपकी साइट यूटीएफ -7 का उपयोग कर क्रॉस साइट स्क्रिप्टिंग हमले के लिए कमजोर हो जाती है।

इस परिदृश्य में, anattacker देखता है कि आपकी साइट में कोई वर्ण एन्कोडिंग परिभाषित नहीं है, इसलिए यह ब्राउज़र को यह सोचने में लगाता है कि पृष्ठ का वर्ण एन्कोडिंग वास्तव में यूटीएफ -7 है। इसके बाद, हमलावर वेब पेज में यूटीएफ -7 एन्कोडेड स्क्रिप्ट को इंजेक्ट करता है और आपकी साइट हैक की गई है। यह आपकी कंपनी से आपके आगंतुकों तक शामिल सभी के लिए स्पष्ट रूप से समस्याग्रस्त है। अच्छी खबर यह है कि यह टालने के लिए एक साधारण समस्या है - बस अपने सभी वेबपृष्ठों में वर्ण एन्कोडिंग जोड़ना सुनिश्चित करें।

कैरेक्टर एन्कोडिंग कहां जोड़ें

वेबपृष्ठ के लिए वर्ण एन्कोडिंग आपके एचटीएमएल के तत्व की पहली पंक्ति होनी चाहिए। यह सुनिश्चित करता है कि ब्राउजर जानता है कि चरित्र एन्कोडिंग यह है कि यह कार्यप्रणाली निर्धारित करने के अलावा पृष्ठ पर कुछ और करता है और यह पहचानता है कि यह एक है एचटीएमएल पेज। आपका एचटीएमएल पढ़ना चाहिए:

<मेटा charset = "UTF-8"> ...

अतिरिक्त सुरक्षा के लिए HTTP शीर्षलेख का उपयोग करना

आप HTTP शीर्षलेख में वर्ण एन्कोडिंग भी निर्दिष्ट कर सकते हैं। यह HTML पृष्ठ पर जोड़ने से भी अधिक सुरक्षित है, लेकिन आपको सर्वर कॉन्फ़िगरेशन या .htaccess फ़ाइलों तक पहुंच प्राप्त होगी, जिसका अर्थ है कि आपको इस तरह की पहुंच प्राप्त करने या उन्हें बनाने के लिए अपनी वेबसाइट के होस्टिंग प्रदाता के साथ काम करने की आवश्यकता हो सकती है आपके लिए परिवर्तन एक्सेस वास्तव में यहां चुनौती है। परिवर्तन स्वयं सरल है, इसलिए कोई भी होस्टिंग प्रदाता सापेक्ष आसानी से आपके लिए यह परिवर्तन करने में सक्षम होना चाहिए।

यदि आप ऐपैच का उपयोग कर रहे हैं, तो आप अपनी रूट .htaccess फ़ाइल में: AddDefaultCharset UTF-8 जोड़कर अपनी संपूर्ण साइट के लिए डिफ़ॉल्ट वर्ण सेट सेट कर सकते हैं। अपाचे का डिफ़ॉल्ट वर्ण सेट आईएसओ -885 9 -1 है