- - PHP प्रोग्रामिंग टिप्स, ट्रिक्स और सुरक्षा

PHP प्रोग्रामिंग टिप्स, ट्रिक्स और सुरक्षा

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

यहां कुछ सुझाव दिए गए हैं जो शुरुआती स्तर पर आपके आवेदन की सुरक्षा सुनिश्चित कर सकते हैं और साथ ही कुछ सामान्य सुरक्षा नुकसानों से बचने में भी आपकी मदद कर सकते हैं।

1) त्रुटि की सूचना देना: त्रुटि रिपोर्टिंग सबसे बड़ी सहयोगी में से एक रही हैएक प्रोग्रामर के लिए। त्रुटियों की रिपोर्ट करने का प्रयास करें। आप अपनी साइट को डेटाबेस से उपयोगकर्ताओं के लिए त्रुटि संदेश दिखाना नहीं चाहते हैं। इससे सुरक्षा संबंधी नुकसान काफी आसानी से पता चल जाएगा। त्रुटि की रिपोर्ट करने के लिए बस स्टेटमेंट को शामिल करें
=> error_reporting (0);

2) डेटा लेने के लिए सक्रिय स्क्रिप्ट बंद करें: एक वेब एप्लिकेशन उपयोगकर्ता इनपुट की संख्या लेता हैऔर उन्हें अन्य रूपों की संख्या में प्रदर्शित करता है। आदानों को स्वीकार करते समय html संभवतः खतरनाक साबित हो सकता है क्योंकि यह अनपेक्षित रूप से जावा लिपियों को चलाता है। यह कुकीज़ को आसानी से हाइजैक कर लेगा।

3) मान्य: एक आवेदन के रूप में अपने सुरक्षित करने के लिए इनपुट लेता हैसर्वर की तुलना में उपयोगकर्ता के अंत में उन्हें मान्य करें। उदाहरण के लिए एक पुस्तकालय प्रबंधन एक नया उपयोगकर्ता डेटाबेस बनाने के लिए इनपुट छात्र आईडी लेता है। तो आप लगभग इस क्षेत्र पर अपेक्षित इनपुट जानते हैं। प्रवेश करते ही उन्हें सत्यापित करना एक बेहतर विकल्प होगा।
एक साधारण सत्यापन सिर्फ होगा
अगर (! प्रीग_मैच ("/ ^ [0-9] {8} $ /", $ _GET [) id]))

{

//त्रुटि की सूचना देना
कृपया छात्र आईडी 8 अंक दर्ज करें

}

4) सत्र आईडी संरक्षण

सत्र ID अपहरण अपहरण PHP के साथ एक समस्या हो सकती हैवेबसाइट। PHP सत्र ट्रैकिंग घटक प्रत्येक उपयोगकर्ता के सत्र के लिए एक अद्वितीय आईडी का उपयोग करता है, लेकिन अगर यह आईडी किसी अन्य उपयोगकर्ता के लिए जानी जाती है, तो वह व्यक्ति उपयोगकर्ता के सत्र को अपहृत कर सकता है और वह जानकारी देख सकता है जो गोपनीय होनी चाहिए। सत्र ID अपहरण का पूरी तरह से रोका नहीं जा सकता है; आपको जोखिमों को जानना चाहिए ताकि आप उन्हें कम कर सकें।

5) उचित सत्र उदाहरण के लिए, उपयोगकर्ता होने के बाद भीमान्य और एक सत्र ID असाइन किया गया है, आपको उस उपयोगकर्ता को तब अमान्य करना चाहिए जब वह पासवर्ड रीसेट करने जैसी किसी भी अति संवेदनशील क्रिया को करता है। उदाहरण के लिए, सत्र-मान्य उपयोगकर्ता को कभी भी अपना पुराना पासवर्ड डाले बिना एक नया पासवर्ड दर्ज करने की अनुमति न दें। आपको सही मायने में संवेदनशील डेटा, जैसे क्रेडिट कार्ड नंबर, एक ऐसे उपयोगकर्ता को प्रदर्शित करने से बचना चाहिए, जिसे केवल सत्र आईडी द्वारा मान्य किया गया है।

6) एक SQL इंजेक्शन रोकें
एसक्यूएल इंजेक्शन हमला, हमले का एक रूप हैउपयोगकर्ता इनपुट से आता है जिसे देखने के लिए जाँच नहीं की गई है कि यह वैध है। उद्देश्य डेटाबेस सिस्टम को दुर्भावनापूर्ण कोड चलाने में मूर्ख बनाना है जो संवेदनशील जानकारी को प्रकट करेगा या अन्यथा सर्वर से समझौता करेगा।

यहाँ उदाहरण है

$ sql = "उपयोगकर्ता नाम, उपयोगकर्ता नाम से पासवर्ड चुनें, जहाँ उपयोगकर्ता नाम = ds। md5 (_ $ _ POST [’pwd ']') '';
$ क्वेरी = mysql_query ($ sql) या डाई (mysql_error ());

भले ही पहले से ही Addlashes () फ़ंक्शन का उपयोग करते हुए क्वेरी sql इंजेक्शन के लिए अधिक असुरक्षित होगी। इस खतरे से बचने के कुछ तरीके यहां दिए गए हैं

1. mysql_query () फ़ंक्शन का उपयोग करने से पहले स्प्रिंट () फ़ंक्शन के लिए अपनी क्वेरी का उपयोग करें।

2. अपनी क्वेरी में पास करने से पहले mysql_real_escape_string () फ़ंक्शन का उपयोग करके POST / GET डेटा के सभी पास करें।

यहाँ उदाहरण है

$ उपयोगकर्ता नाम = mysql_real_escape_string ($ _ POST [my उपयोगकर्ता नाम]);
$ पासवर्ड = md5 ($ _ POST [] पासवर्ड ’]);
$ sql = sprintf ("उपयोगकर्ता नाम, उपयोगकर्ता का पासवर्ड जहाँ उपयोगकर्ता नाम =’% s 'और पासवर्ड = ”% s'", $ उपयोगकर्ता नाम, $ पासवर्ड);
$ क्वेरी = mysql_query ($ sql) या डाई (mysql_error ());

यदि आपको सहायता चाहिए, तो मुझे टिप्पणी अनुभाग में बताएं। :)

टिप्पणियाँ