हमारे एक सर्वर को बड़ी संख्या में स्पैम बॉट्स द्वारा प्रतिदिन मारा जा रहा है। वे किसी भी स्पैम को पोस्ट करने में सक्षम नहीं हैं, लेकिन वे अभी भी कोशिश करते हैं और वास्तविक उपयोगकर्ताओं के लिए सर्वर को धीमा कर रहे हैं।
इसका मुकाबला करने के लिए, मेरे पास साइट पर एक PHP स्क्रिप्ट चल रही है जो उनके आईपी पते का पता लगाती है। हालाँकि, मैं चाहता हूं कि यह स्क्रिप्ट इन आईपी पते को स्वचालित रूप से फ़ायरवॉल में जोड़े (बजाय मुझे मैन्युअल रूप से ऐसा करने के)। कुछ इस तरह से चल रहा है:
iptables -I INPUT -j DROP -s 123.123.123.123
हालाँकि, ऐसा लगता है कि iptables
कमांड केवल रूट के रूप में चलाया जा सकता है। इसके आसपास कोई रास्ता? मुझे लगता है कि मेरे पास एक फ़ाइल में जोड़े गए कमांड हो सकते हैं जो root
क्रोन के माध्यम से चलता है, लेकिन वास्तव में php स्क्रिप्ट के बीच कोई भी देरी नहीं करना चाहता है जिससे एक आईपी और प्रतिबंध को जोड़ने का निर्णय लिया जा सके।
s/[^0-9.:]//
आईपी पते पर और इनपुट के रूप में कुछ और स्वीकार नहीं कर रहा। मैं इस तरह के परिदृश्य में इसे और भी कड़ा कर दूंगा।