คุณควรหลีกเลี่ยงการพยายามทำสิ่งนี้กับ PHP เมื่อถึงเวลาที่ PHP เข้ามาเกี่ยวข้องมันก็สายเกินไปแล้ว - จัดสรรหน่วยความจำแล้ว
คุณสามารถแบนที่อยู่ IP ได้ทุกเลเยอร์ แต่ระดับต่ำสุดที่ใช้จำนวนทรัพยากรน้อยที่สุดคือเส้นทางที่คุณต้องการ โดยปกติจะเป็นไฟร์วอลล์ อย่างน้อยที่สุด iptables (ไฟร์วอลล์ linux) คือสิ่งที่คุณต้องการใช้ มีเครื่องมือที่คนอื่นพูดถึงเช่น Fail2Ban ซึ่งสามารถทำสิ่งนี้ให้คุณได้โดยอัตโนมัติ ไฟร์วอลล์ภายนอกจะดีกว่า
นอกเหนือจากการพยายามแบนการละเมิดที่อยู่ IP คุณควรพยายามใช้ทรัพยากรของคุณให้ดีขึ้น หากการร้องขอใช้ทรัพยากรน้อยกว่าจะใช้เวลานานกว่าการโจมตีจะมีประสิทธิภาพ
Apache ยังใช้หน่วยความจำจำนวนมาก หากคุณใช้ mod_php มันยิ่งแย่กว่าเดิมเพราะ PHP โหลดอยู่ในกระบวนการลูกอาปาเช่ทุกขั้นตอน ซึ่งหมายความว่าแม้คำขอไปยังเนื้อหาแบบคงที่ (css / js / images) กำลังโหลด PHP แม้ว่าจะไม่ได้ใช้งาน คุณสามารถแก้ปัญหานี้ได้โดยใช้ FastCGI แทน mod_fcgid เป็นตัวเลือกที่ดี
นอกจากนี้ยังมีเว็บเซิร์ฟเวอร์อื่น ๆ ที่ใช้ทรัพยากรอย่างมีประสิทธิภาพ Nginx เป็นรายการโปรดของฉัน นอกจากนี้ยังมี Lighttpd ผู้คนจำนวนมากเช่น Litespeed (เปลี่ยนแทน Apache)
หากคุณต้องการใช้ Apache ให้ลองปรับให้ดีที่สุดเท่าที่จะทำได้ พิจารณาปิดการใช้งาน. htaccess นี่คือคำอธิบายที่ดีว่าทำไม