आपको PHP के साथ ऐसा करने की कोशिश करने से बचना चाहिए। जब तक PHP शामिल हो जाती है, तब तक पहले ही बहुत देर हो चुकी होती है - मेमोरी पहले ही आवंटित की जा चुकी है।
आप किसी भी स्तर पर आईपी पते पर प्रतिबंध लगा सकते हैं, लेकिन सबसे कम स्तर जो संसाधनों का कम से कम उपयोग करता है वह वह मार्ग है जिसे आप लेना चाहते हैं। यह आमतौर पर फ़ायरवॉल है। बहुत कम से कम, iptables (linux फ़ायरवॉल) वह है जो आप उपयोग करना चाहते हैं। ऐसे उपकरण हैं जिनका दूसरों ने उल्लेख किया है, जैसे कि फेल 2 बान, जो आपके लिए इसे स्वचालित कर सकते हैं। बाहरी फ़ायरवॉल बेहतर होगा।
अपमानजनक आईपी पते पर प्रतिबंध लगाने की कोशिश करने के अलावा, आपको अपने संसाधनों का बेहतर उपयोग करने का प्रयास करना चाहिए। यदि कोई अनुरोध कम संसाधन लेता है तो एक हमले के प्रभावी होने में अधिक समय लगेगा।
अपाचे भी बहुत सारी मेमोरी का उपयोग करता है। यदि आप mod_php का उपयोग कर रहे हैं, तो यह और भी बुरा है क्योंकि PHP हर अपाचे बच्चे की प्रक्रिया के अंदर भरी हुई है। इसका मतलब यह है कि स्थिर सामग्री (सीएसएस / जेएस / इमेज) के लिए अनुरोध भी PHP लोड कर रहे हैं जब PHP का उपयोग नहीं किया जा रहा है। आप इसके बजाय FastCGI का उपयोग करके इस समस्या को हल कर सकते हैं। mod_fcgid एक अच्छा विकल्प है।
अन्य वेब सर्वर भी हैं जो अधिक संसाधन कुशल हैं। नगनेक्स मेरा पसंदीदा है। लाइटटैप भी है। बहुत सारे लोग जैसे Litespeed (अपाचे के लिए प्रतिस्थापन में गिरावट)।
यदि आप अपाचे के साथ रहना चाहते हैं, तो इसे सबसे अच्छा मान सकते हैं। अक्षम करने पर विचार करें ।htaccess। यहाँ एक अच्छा स्पष्टीकरण क्यों है ।