2010-08-30 15 views
6

एक आईपी (चीन से) है जो मेरी पूरी वेबसाइट डाउनलोड करने की कोशिश कर रहा है। यह मेरे सभी पृष्ठों को डाउनलोड करता है और सर्वर को काफी लोड करता है (मेरे पास 500 000 से अधिक पेज हैं)। एक्सेस लॉग को देखकर मैं यह बता सकता हूं कि यह निश्चित रूप से Google बॉट या कोई अन्य खोज इंजन बॉट नहीं है।पूरी वेबसाइट डाउनलोड से रोकथाम?

अस्थायी रूप से मैंने इसे प्रतिबंधित कर दिया है (iptables नियमों का उपयोग करके), लेकिन यह मेरे लिए कोई समाधान नहीं है, क्योंकि मेरे कुछ वास्तविक उपयोगकर्ताओं के पास एक ही आईपी है, इसलिए उन्हें भी प्रतिबंधित कर दिया गया है और वेबसाइट पर आरोप नहीं लगाया जा सकता है।

क्या इस तरह की "उपयोगकर्ता गतिविधि" को रोकने के लिए कोई तरीका है? हो सकता है कि एक तंत्र जो कैप्चा लागू करता है यदि आप 5 से अधिक अनुरोधों का अनुरोध करने का प्रयास करते हैं तो दूसरा या कुछ?

पीएस मैं वाईआई फ्रेमवर्क (PHP) का उपयोग कर रहा हूँ।

किसी भी सुझाव की बहुत सराहना की जाती है।

धन्यवाद!

उत्तर

5

आपने अपना खुद का प्रश्न उत्तर दिया है!

captcha मेक करें यदि अनुरोध प्रति सेकंड या प्रति मिनट कुछ निश्चित संख्या से अधिक है!

आपको का उपयोग this जैसे कार्यान्वित करने के लिए करना चाहिए।

+0

मेरा मतलब था कि मुझे इसे कैसे कार्यान्वित करना चाहिए? : डी उपयोगकर्ता सत्र? – Mensch

+0

ऊपर मेरा संपादन देखें। – pavanlimo

0

मुझे लगता है कि संदिग्ध उपयोगकर्ता गतिविधि के लिए निगरानी करने का सबसे अच्छा तरीका वास्तव में उपयोगकर्ता सत्र है, CWebUser का getState()/setState()। उपयोगकर्ता सत्र में वर्तमान अनुरोध समय संग्रहीत करें, इसे कई पिछले मानों से तुलना करें, यदि उपयोगकर्ता अक्सर अनुरोध करता है तो कैप्चा दिखाएं।

नया घटक बनाएं, इसे CWebApplication::$preload के माध्यम से प्रीलोड करें और init() फ़ंक्शन में उपयोगकर्ता गतिविधि की जांच करें। इस तरह आप आसानी से बॉट चेक चालू और बंद कर पाएंगे।

संबंधित मुद्दे