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

जावा को एक सुरक्षित भाषा क्या बनाती है?

क्या जावा सुरक्षित है? जावा को एक सुरक्षित प्रोग्रामिंग भाषा कहने के कई कारण हैं, हालाँकि यह कहना कि जावा कई अन्य भाषाओं की तुलना में अधिक सुरक्षित है, इसे रखने का उचित तरीका होगा क्योंकि ये सुविधाएँ वास्तव में जावा को पूरी तरह से सुरक्षित नहीं बनाती हैं, वे केवल मुख्य रूप से जावा कोड निष्पादन की सुरक्षा में सुधार।
  • बाइटकोड सत्यापन।
बाइटकोड सत्यापन जावा कोड की सुरक्षा सुनिश्चित करने वाली मुख्य विशेषताओं में से एक है। एक बायटेकोड सत्यापन का अर्थ है कि जावा एक कंपाइलर का उपयोग करता है, जो जावा कोड को पढ़ता है और इसे मशीन-स्वतंत्र बायटेकोड प्रतिनिधित्व में अनुवादित करता है। यह सुनिश्चित करने की अनुमति देता है कि केवल वैध बाइटकोड निष्पादित किए जाते हैं, और कोई दुर्भावनापूर्ण कोड सिस्टम में प्रवेश नहीं कर सकता है। कंपाइलर जाँचता है कि बायटेकोड जावा लैंग्वेज स्पेसिफिकेशन के अनुरूप हैं और जावा भाषा के नियमों या नेमस्पेस प्रतिबंधों का उल्लंघन नहीं करते हैं। कोड को कई अन्य 'लाल झंडों' के लिए भी जाँचा जाता है, जैसे अवैध डेटा टाइपकास्ट, स्टैक अंडरफ़्लो और ओवरफ़्लो, या मेमोरी प्रबंधन उल्लंघन। इसे सरल तरीके से समझाने के लिए, जावा प्रोग्राम को बाइट कोड के रूप में संकलित किया जाता है, जो तब एक वर्चुअल मशीन के अंदर चलता है, और उस कंप्यूटर तक नहीं पहुँच सकता जिस पर वह चलता है। यह इस कोड को उपयोग करने के लिए अधिक सुरक्षित बनाता है,
  • स्वचालित स्मृति प्रबंधन।
एक सुरक्षित भाषा के रूप में जावा की एक और महत्वपूर्ण विशेषता स्वचालित मेमोरी प्रबंधन और कचरा संग्रह है, जो जावा को कोडर के लिए बहुत आसान भाषा भी बनाता है क्योंकि जावा स्वचालित रूप से सभी आंतरिक मेमोरी मुद्दों और डेटा प्रबंधन प्रणालियों का ख्याल रखता है। यह प्रोग्रामर को प्रोग्राम बनाते समय मेमोरी के मुद्दों के बारे में चिंतित नहीं होने देता है, इसके बजाय अन्य महत्वपूर्ण चीजों पर ध्यान केंद्रित करता है। कचरा संग्रह, उदाहरण के लिए, आवश्यक होने पर स्मृति को स्वचालित रूप से मुक्त कर देता है। वैसे, जावा में इस सभी प्रबंधन स्वचालन का एक और प्रमुख तथ्य यह है कि यह समग्र विकास लागत को कम करता है (चूंकि कई महत्वपूर्ण कार्य और प्रक्रियाएं स्वचालित हैं)।
  • कोई संकेत नहीं।
कई अन्य प्रोग्रामिंग भाषाओं के विपरीत, C और C+ उदाहरण के लिए, जो एप्लिकेशन मेमोरी को प्रबंधित करने के लिए पॉइंटर वैल्यू का उपयोग करते हैं, जावा में पॉइंटर्स की कोई अवधारणा नहीं है। हालांकि मूल रूप से एक सुरक्षा उपाय (चोरों से निजी डेटा की सुरक्षा के लिए) के रूप में डिज़ाइन किया गया था, पॉइंटर्स भी उस मामले में एक बड़ी भेद्यता हो सकते हैं जब कुछ प्रकार के मेलफैक्टर उन तक पहुंच प्राप्त करने का प्रबंधन करते हैं क्योंकि पॉइंटर्स के पास उनमें प्राधिकरण को सत्यापित करने का कोई तरीका नहीं होता है। , मूल रूप से किसी को भी एप्लिकेशन की मेमोरी तक पहुंचने की अनुमति देता है। जावा, जैसा कि हमने कहा, अपने डेटा प्रबंधन सिस्टम और आंतरिक मेमोरी पर भरोसा करते हुए पॉइंटर्स का उपयोग नहीं करता है, डेटा को किसी भी अनधिकृत पहुंच से बचाने के तरीके के रूप में। यह हैकर्स के लिए जावा एप्लिकेशन की मेमोरी में घुसपैठ करना बहुत असंभव बना देता है। जाहिर है, यह एक और कारण है कि जावा उद्यम विकास में लोकप्रिय है,
  • जावा कंपाइलर स्वचालित रूप से कोड में त्रुटियों की जांच करता है, उनका पता लगाता है और उन्हें ठीक करता है।
त्रुटियों के लिए कोड की स्वचालित जाँच जावा की एक अन्य महत्वपूर्ण विशेषता है जो इसे और अधिक सुरक्षित बनाती है। कंपाइलर कोड की जांच करता है, त्रुटियों का पता लगाता है, प्रोग्रामर को इन तीरों के बारे में चेतावनी देता है और उन्हें ठीक करने के तरीके सुझाता है। यह, फिर से, प्रोग्रामर के काम को सरल करता है, जावा अनुप्रयोगों को बहुत अधिक स्थिर बनाता है, और अंततः, विकास लागत को कम करता है (कारण संख्या 1 लगभग किसी भी कंपनी के लिए)। इसके सुरक्षा भाग के लिए, यह आपके प्रोग्राम में प्रवेश करने वाले बाहरी दुर्भावनापूर्ण कोड की संभावनाओं को अनधिकृत संशोधनों को भी कम करता है।
  • जावा स्वचालित डेटा प्रकार की जाँच करता है।
त्रुटियों के लिए कोड की जाँच के अलावा, जावा कंपाइलर स्वचालित रूप से कोड में चर की जाँच करता है, यह सुनिश्चित करने के लिए कि कोई सुरक्षा चिंताएँ नहीं हैं जो चर में डेटा प्रविष्टि गलतियों से उत्पन्न हो सकती हैं। यह सिस्टम को घुसपैठ और डेटा चोरी होने से बचाने का एक और तरीका है।

कौन से जावा घटक वास्तव में इसे सुरक्षित बनाते हैं?

विशिष्ट जावा घटकों के लिए जो इसकी सुरक्षा में सबसे महत्वपूर्ण भूमिका निभाते हैं, यहाँ एक त्वरित सूची है जो आपको बुनियादी स्तर पर स्पष्ट समझ प्रदान करती है कि यह कैसे काम करता है और वास्तव में जावा को क्या सुरक्षित बनाता है।
  • जावा वर्चुअल मशीन (जेवीएम)।
जेवीएम, एक आभासी मशीन होने के नाते जो जावा प्रोग्राम के बायटेकोड प्रतिनिधित्व को चलाता है, स्पष्ट रूप से जावा की समग्र सुरक्षा में बहुत महत्वपूर्ण भूमिका निभाता है। JVM का उपयोग करने से आप प्रोग्राम के किसी भी संभावित असुरक्षित संचालन को ब्लॉक कर सकते हैं।
  • जावा क्रिप्टोग्राफी आर्किटेक्चर (जेसीए)।
जावा क्रिप्टोग्राफी आर्किटेक्चर एक ढांचा है जो आपको जावा प्लेटफॉर्म के लिए क्रिप्टोग्राफिक कार्यक्षमता जोड़ने की अनुमति देता है। जावा क्रिप्टोग्राफी आर्किटेक्चर का उपयोग गारंटी देता है कि आपका डेटा एन्क्रिप्ट किया जाएगा और सुरक्षित रहेगा।
  • पब्लिक की इंफ्रास्ट्रक्चर (पीकेआई)।
पब्लिक की इन्फ्रास्ट्रक्चर एक अन्य ढांचा है, जो आपको डेटा के सुरक्षित आदान-प्रदान को प्राप्त करने के लिए पब्लिक-की क्रिप्टोग्राफी को लागू करने की अनुमति देता है। PKI का उपयोग करके, आप पहचान को डिजिटल प्रमाणपत्रों से जोड़ सकते हैं, और आवश्यकता पड़ने पर प्रमाणपत्रों की प्रामाणिकता को सत्यापित कर सकते हैं।
  • सुरक्षा प्रबंधक।
जावा में सुरक्षा प्रबंधक मूल रूप से एक वर्ग है, जो अनुप्रयोगों को सुरक्षा नीति लागू करने की अनुमति देता है, उनके लिए सुरक्षा नीति को परिभाषित करता है, और प्रोग्रामर को ऐप के लिए सुरक्षा स्तर निर्धारित करने की अनुमति देता है।
  • जावा सैंडबॉक्स।
जावा सैंडबॉक्स जावा एप्लेट्स को चलाने के लिए एक प्रोग्राम क्षेत्र है, जो यह सुनिश्चित करने के लिए प्रतिबंधित करता है कि एप्लेट क्या कर सकता है यह सुरक्षा से समझौता नहीं करेगा और सुरक्षा जांच के बिना सिस्टम संसाधनों तक नहीं पहुंच सकता है।

राय

क्या वर्षों के अनुभव वाले पेशेवर जावा डेवलपर्स मानते हैं कि यह भाषा सुरक्षित है? यहाँ कुछ उद्धरण हैं। "मैं कहूंगा कि जावा इस तरह सुरक्षित नहीं है (कोई प्रोग्रामिंग भाषा नहीं है), लेकिन जेवीएम ऐसी सुविधाएँ प्रदान करता है जो सुरक्षा प्रदान करती हैं। इसलिए जब जावा आपको हर चीज से नहीं बचाएगा, तो यह आपको बफर ओवररन के कारण होने वाली समस्याओं की एक पूरी श्रेणी से बचाएगा, ” कहागैरी टेलर, एक अनुभवी प्रोग्रामर और ब्लैक स्पार्क मीडिया कंपनी के सीटीओ। "जावा जावा निष्पादन पर्यावरण में एक एप्लेट को सीमित करके और कंप्यूटर के अन्य हिस्सों तक पहुंचने की अनुमति नहीं देकर सुरक्षा में सुधार करता है। एप्लेट्स को इस विश्वास के साथ डाउनलोड करने की क्षमता कि कोई नुकसान नहीं होगा और किसी भी सुरक्षा का उल्लंघन नहीं होगा, कई लोगों द्वारा जावा का सबसे नवीन पहलू माना जाता है," आईबीएम में एक सॉफ्टवेयर इंजीनियर स्मित प्रकाश ने कहा।

सारांश

तो, क्या जावा सुरक्षित है? इसे सारांशित करते हुए, जावा में निश्चित रूप से कई बेहतरीन विशेषताएं और अंतर्निहित टूल हैं जो इसे और अधिक सुरक्षित बनाते हैं। इनमें से कई सुविधाएँ विशेष रूप से एंटरप्राइज़ बाज़ार में जावा की समग्र लोकप्रियता में एक महत्वपूर्ण भूमिका निभाती हैं, क्योंकि वे कंपनियों को अपने डेटा को अनधिकृत पहुँच से प्रभावी रूप से सुरक्षित रखने की अनुमति देती हैं, साथ ही कई विकास प्रक्रियाओं को स्वचालित करती हैं जो अन्य भाषाओं द्वारा स्वचालित नहीं होती हैं। लेकिन, जितना हम जावा के बारे में शेखी बघारना पसंद करते हैं और यह कितना अच्छा है, जावा अभी भी पूरी तरह से सुरक्षित होने से दूर है। वास्तव में, कोई भी प्रोग्रामिंग भाषा पूरी तरह से सुरक्षित नहीं है, प्रत्येक की अपनी ताकत और कमजोरियां (कमजोरियां) हैं। सामान्यतया, सी माना जाता हैवहाँ सबसे कमजोर प्रोग्रामिंग भाषा होने के लिए। विशेषज्ञों का कहना है कि जावा, ऊपर वर्णित कई बेहतरीन सुरक्षा सुविधाओं के बावजूद, सर्वर-साइड पर अभी भी असुरक्षित है, और शोषण से पीड़ित हो सकता है ।