जेवियर का जवाब जिसमें ओवास्प लिंक है, एक अच्छी शुरुआत है।
कुछ और चीजें हैं जो आप और अधिक कर सकते हैं:
-
SQL इंजेक्शन हमलों के संबंध में, आप एक ऐसा फ़ंक्शन लिख सकते हैं जो इनपुट से सामान्य SQL कथन जैसे " DROP " या "DELETE * WHERE" को इस तरह से हटा देगा:
*$sqlarray =सरणी ("ड्रॉप", "या 1 =1", "संघ का चयन करें", "चुनें * से", "होस्ट का चयन करें", "तालिका बनाएं", "उपयोगकर्ताओं से", "उपयोगकर्ता कहां"); *
फिर वह फ़ंक्शन लिखें जो इस सरणी के विरुद्ध आपके इनपुट की जांच करेगा। सुनिश्चित करें कि $sqlarray के अंदर की कोई भी सामग्री आपके उपयोगकर्ताओं से सामान्य इनपुट नहीं होगी। (इस पर strtolower का उपयोग करना न भूलें, धन्यवाद लू)।
-
मुझे यकीन नहीं है कि memcache PHP 4 के साथ काम करता है, लेकिन आप memcache के साथ कुछ स्पैम सुरक्षा को केवल प्रक्रिया के लिए एक निश्चित दूरस्थ IP एक्सेस की अनुमति देकर रख सकते हैं। Y समय अवधि में php पृष्ठ X की मात्रा।
-
विशेषाधिकार महत्वपूर्ण है। यदि आपको केवल सम्मिलित विशेषाधिकारों (जैसे, ऑर्डर प्रोसेसिंग) की आवश्यकता है, तो आपको उस उपयोगकर्ता के साथ ऑर्डर प्रक्रिया पृष्ठ पर डेटाबेस में लॉग इन करना चाहिए जिसमें केवल सम्मिलित है और शायद विशेषाधिकारों का चयन करें। इसका मतलब यह है कि भले ही एक SQL इंजेक्शन के माध्यम से, वे केवल INSERT / SELECT क्वेरी कर सकते थे और डिलीट या रिस्ट्रक्चरिंग नहीं कर सकते थे।
-
एक निर्देशिका में महत्वपूर्ण php प्रसंस्करण फ़ाइलों को रखें जैसे कि /include। फिर सभी आईपी को उस /include निर्देशिका तक पहुंच को अस्वीकार करें।
-
उपयोगकर्ता के सत्र में उपयोगकर्ता के एजेंट + रिमोटिप + अपने नमक के साथ एक नमकीन MD5 डालें, और प्रत्येक पृष्ठ लोड पर यह सत्यापित करें कि सही MD5 उनकी कुकी में है।
-
कुछ शीर्षलेखों को अस्वीकार करें (http://www.owasp.org/index.php/Testing_for_HTTP_Methods_and_XST ए> ) . PUT को अस्वीकृत करें (यदि आपको फ़ाइल अपलोड की आवश्यकता नहीं है)/TRACE/CONNECT/हटाएं शीर्षलेख।