बार-बार हैकर के हमले यह साबित करते हैं कि इंटरनेट पर व्यवसाय करने वाले किसी भी व्यक्ति के लिए वेब सुरक्षा सबसे महत्वपूर्ण मुद्दा है। सर्वर अक्सर इन हमलों का लक्ष्य होते हैं क्योंकि वे जानकारी संग्रहीत करते हैं। इसलिए विश्वसनीय सर्वर सुरक्षा सुनिश्चित करना आवश्यक है।
Apache पर PHP सुरक्षित करना
"phpinfo ()" प्रोटोकॉल शुरू करें और "open_basedir" कमांड के साथ लाइन की जांच करें। इस कमांड से आप सभी यूजर्स के लिए बेस डायरेक्टरी को परिभाषित कर सकते हैं। इस मान को सेट करने के बाद, वे अब इस रूट फ़ोल्डर या इसकी उपनिर्देशिकाओं जैसे "C: / Windows" के बाहर फ़ाइलें नहीं खोल पाएंगे।
यदि आपके पास अन्य संरचनात्मक निर्देशिकाएं हैं, तो उन्हें "www_root" कमांड के साथ मूल निर्देशिका के रूप में परिभाषित करें। हालाँकि, एक उपयोगकर्ता दूसरे उपयोगकर्ता की फ़ाइलों को पढ़ने और संशोधित करने में भी सक्षम होगा। इसे रोका जाना चाहिए।
दुर्भाग्य से, एक उपयोगकर्ता को दूसरे के डेटा तक पहुँचने से रोकने के लिए php.ini फ़ाइल में कोई विकल्प नहीं है।
लेकिन एक दिलचस्प तरीका है अगर PHP अपाचे पर चल रहा है। Phpinfo () में आपको दो कॉलम मिलेंगे: प्राइमरी वैल्यू और लोकल वैल्यू। पहला "php.ini" में मान है। दूसरा एक मान है जो सर्वर के चलने के दौरान निर्धारित होता है।
यदि मुख्य मान संख्यात्मक शब्दों में छोटा है, तो इसे "ini_set ()" कमांड का उपयोग करके स्क्रिप्ट में बदला जा सकता है। यह "open_basedir" पर लागू नहीं होता क्योंकि यह मान सुरक्षा के लिए महत्वपूर्ण है और इसे केवल एक व्यवस्थापक द्वारा बदला जा सकता है।
अपाचे में, कॉन्फ़िगरेशन फ़ाइल "httpd.conf" को स्थानीय मान "open_basedir" के तहत मैनुअल में निर्दिष्ट किया जा सकता है।
अन्य PHP सेटिंग्स
"php.ini" फ़ाइल में "disable_functions" सेट करके, आपको संभावित रूप से खतरनाक कार्यों को अक्षम करना होगा।
आपके द्वारा की जाने वाली प्रत्येक क्रिया के बारे में ध्यान से सोचें। फ़ंक्शन को अक्षम करने का अर्थ है कि कुछ स्क्रिप्ट काम करना बंद कर देंगी।
कुछ विशेषताएं वास्तव में खतरनाक हैं और आमतौर पर स्क्रिप्टिंग के लिए आवश्यक नहीं होती हैं। विशिष्ट उद्देश्यों के लिए दूसरों की आवश्यकता हो सकती है। इसलिए, उन सभी कार्यों को अक्षम करना आसान नहीं है जो खतरनाक हो सकते हैं, लेकिन अपने निर्णयों को भी ध्यान से देखें।
यह विश्वास न करें कि केवल "safe_mode = चालू" फ़ंक्शन पर्याप्त होगा। यह कुछ उपयोगी सुविधाओं को अक्षम कर सकता है और ऊपर वर्णित सुरक्षा समस्या का समाधान नहीं कर सकता है। सुरक्षित मोड PHP 5.3.0 में बहिष्कृत है और PHP 6.0.0 में हटा दिया गया है।
सुरक्षा के मुद्दे
वेब डेवलपर कई गलतियां कर सकता है और वेबसाइट को असुरक्षित बना सकता है।
उदाहरण के लिए, यदि आप अपना ब्लॉग बनाते हैं और उपयोगकर्ताओं को छवियों को अपलोड करने की अनुमति देते हैं, तो यह एक गंभीर खतरा हो सकता है जब कोड एक शुरुआतकर्ता द्वारा लिखा जाता है। कई गलतियाँ हैं जो एक प्रोग्रामर लॉगिन पेज आदि पर कर सकता है। सबसे आम में से एक दुर्भावनापूर्ण एल्गोरिदम डाउनलोड करने पर प्रतिबंध की कमी है।
महत्वपूर्ण बात यह है कि सार्वजनिक होस्टिंग पर एक असुरक्षित साइट पूरे सर्वर के लिए खतरा है। साथ ही PHP-Nuke जैसे ओपन सोर्स प्रोजेक्ट्स को इंस्टॉल करना जोखिम भरा हो सकता है। इसी तरह की परियोजनाओं में कई कमजोरियां पहले ही खोजी जा चुकी हैं।