दुर्भावनापूर्ण बॉट को स्पैम पोस्ट करने से रोकें


15

मुझे याद है कि दुरुपयोग के कारण एक साइट बंद है और मुझे आश्चर्य है कि अगर बॉट्स का एक हिस्सा है। अगर बॉट मेरी साइट पर कुछ पोस्ट कर रहा है, तो क्या तरीके हैं जिससे मैं इसका मुकाबला कर सकता हूं? मैं कुछ कुकीज़ सेट करने और कुकीज़ को जावास्क्रिप्ट + टाइमस्टैम्प और साइन के माध्यम से बदलने के बारे में सोच रहा था (इसलिए कल की कुकीज़ आज और अगले सप्ताह इस्तेमाल नहीं की जा सकती)।

मुझे यकीन है कि अधिकांश लोग / बॉट केवल अपने बॉट में जावास्क्रिप्ट को सक्षम करने के बजाय किसी अन्य साइट का उपयोग करेंगे।

मैं और क्या कर सकता हुँ? मैं दैनिक POST सीमा और सामान्य बॉट्स के लिए एक हनीपॉट सोच रहा हूं, जो केवल यादृच्छिक रूप से स्पैम पोस्ट करते हैं।

जवाबों:


13

आप सहित कई काम कर सकते हैं:

  1. एक नकली क्षेत्र डालना जो केवल बॉट्स देखेंगे। फिर अगर उस फ़ील्ड को बाकी फॉर्म के साथ जमा किया जाता है तो आप इसे अनदेखा कर सकते हैं (और यदि वांछित हो तो उन्हें प्रतिबंधित कर सकते हैं)। आप खराब बॉट को भी फँसा सकते हैं जो एक छिपी हुई कड़ी का पालन करते हैं

  2. एक कैप्चा का उपयोग करें जैसे कि reCAPTCHA

  3. किसी ऐसे फ़ील्ड का उपयोग करें जिसके लिए उपयोगकर्ता को एक प्रश्न का उत्तर देने की आवश्यकता होती है जैसे कि 5 + 3. कोई भी मानव इसका उत्तर दे सकता है, लेकिन बॉट को पता नहीं होगा कि फ़ील्ड नाम के आधार पर ऑटो-पॉपुलेटिंग फ़ील्ड के बाद से क्या करना है। तो वह क्षेत्र या तो गलत होगा या गायब होगा जिस स्थिति में जमा खारिज कर दिया जाएगा।

  4. एक टोकन का उपयोग करें और इसे एक सत्र में डालें और इसे फॉर्म में भी जोड़ें। यदि टोकन फॉर्म के साथ सबमिट नहीं किया गया है या मेल नहीं खाता है तो यह स्वचालित है और इसे अनदेखा किया जा सकता है।

  5. एक ही आईपी पते से बार-बार प्रस्तुतियाँ देखें। यदि आपके फॉर्म को बहुत अधिक अनुरोध नहीं मिलना चाहिए, लेकिन अचानक यह एक बॉट द्वारा मारा जा रहा है और आपको अस्थायी रूप से आईपी पते को अवरुद्ध करने पर विचार करना चाहिए।

  6. Askimet का प्रयोग करें । यह स्पैम की पहचान करने में बहुत अच्छा है।


5
+1 - और, आदर्श रूप से, आप उपयोगकर्ता के अनुकूल तरीके से ऊपर सूचीबद्ध सुझावों के संयोजन को लागू करेंगे (उदाहरण के लिए, यदि किसी उपयोगकर्ता के पास जावास्क्रिप्ट अक्षम है और इसलिए जावास्क्रिप्ट-आधारित प्रमाणीकरण विफल रहता है, तो उपयोगकर्ता को कैप्चा के साथ प्रस्तुत करें)
डैन्लेफ्री 18

6

जॉन कॉनडे ने बहुत अच्छे दृष्टिकोण की रूपरेखा तैयार की। एंटी-बॉट / एंटी-स्पैम तकनीक चुनने की समस्या प्रभावशीलता और सुविधा को संतुलित कर रही है। हर बार जब आप किसी टिप्पणी या संदेश को पोस्ट करना चाहते हैं, तो कैप्चा भरना वास्तव में असुविधाजनक होगा, लेकिन यदि आपको साइनअप पर केवल कैप्चा की आवश्यकता होती है, तो कभी-कभी यह स्पैमर्स को रोक नहीं पाता है।

निष्क्रिय तकनीकों में से कुछ एक अच्छा विकल्प हैं, क्योंकि उन्हें किसी भी मानव कार्रवाई की आवश्यकता नहीं है। समस्या यह है कि बॉट्स अधिक से अधिक परिष्कृत हो रहे हैं, और यदि बोट्स कैप्चा को हल कर सकते हैं, तो वे निश्चित रूप से जेएस और सीएसएस प्रक्रिया कर सकते हैं। तो आपको अपने बॉट-ट्रैप फ़ील्ड को छुपाने के लिए कम स्पष्ट सीएसएस का उपयोग करने जैसी थोड़ी सरलता का प्रयोग करना होगा।

लेकिन आपके प्रश्न के आधार पर, मुझे लगता है कि आप शायद यह महसूस करते हैं कि बिंदु एक बॉट-प्रूफ साइट बनाने के लिए नहीं है, लेकिन सिर्फ एक निवारक पर्याप्त बनाने के लिए है कि बॉट उपयोगकर्ता बस अन्य आसान लक्ष्य चुनेंगे। तो यहां जो आवश्यक है वह साइट से साइट पर अलग-अलग होगा, और संभवतः कुछ परीक्षण और त्रुटि परीक्षण की आवश्यकता होगी। मैं सबसे पहले कम से कम आज्ञाकारी तकनीकों की कोशिश करूंगा।

अंत में, आपकी साइट को डी-स्पैम करने का एक और तरीका है कि आप किसी भी बॉट-सबमिट की गई टिप्पणियों या मैन्युअल रूप से सबमिट किए गए स्पैम को हटाने के लिए सहकर्मी मॉडरेशन का उपयोग करें।


क्या आप सहकर्मी मॉडरेशन के विचार की व्याख्या कर सकते हैं? क्या इसमें सामान्य उपयोगकर्ताओं को मॉडरेटर अधिकार मिल रहे हैं या मुझे इसकी कल्पना कैसे करनी है?
0xC0000022L

@STATUS_ACCESS_DENIED: देर से उत्तर के लिए खेद है, लेकिन सहकर्मी मॉडरेशन मूल रूप से डिग, स्लैशडॉट, स्टैकएक्सचेंज आदि जैसे कुछ है जहां उपयोगकर्ता साइट पर सामग्री को कुछ सकारात्मक या नकारात्मक प्रतिक्रिया देकर मध्यम कर सकते हैं। तो आप इस तरह की प्रणाली को स्वचालित कर सकते हैं, जब पर्याप्त उपयोगकर्ता सामग्री के एक टुकड़े पर नकारात्मक प्रतिक्रिया देते हैं, तो यह स्वचालित रूप से छिपा हुआ है या समीक्षा के लिए ध्वजांकित है। StackExchange जैसी साइटों पर, उपयोगकर्ता स्पैम के रूप में टिप्पणियों / उत्तरों को भी ध्वजांकित कर सकते हैं, जिससे इसे व्यवस्थापक के ध्यान में लाया जा सकता है। यह उस काम को कम करता है जो भुगतान करने वाले को करना पड़ता है।
लासे मेजेस्टे सेप

धन्यवाद। यह, निश्चित रूप से, केवल उच्च-ट्रैफ़िक साइटों पर काम करेगा जहाँ पर्याप्त उपयोगकर्ताओं को प्रतिक्रिया देने के लिए परेशान किया जा सकता है;)
0xC0000022L

1

जैसा कि जॉन कोंडे ने अपने # 1 में उल्लेख किया है और आपने उल्लेख किया है, हनीपोट अधिकांश मामलों और अधिकांश वेब साइटों के लिए बहुत अच्छी तरह से काम कर सकता है। अगर यह कभी किसी बॉट द्वारा किया जाता है तो आप जॉन द्वारा बताए गए अन्य तरीकों में से एक कर सकते हैं। लेकिन ईमानदारी से अगर आपकी साइट कम है या औसत ट्रैफ़िक है तो यह चाल चलनी चाहिए।

उदाहरण, मेरे पसंदीदा में से एक:

<form action="/process-form">
<input name="email" placeholder="Enter Your Email">
<input name="email_address" placeholder="Enter Your Email" style="display:none;">
<input type="submit" value="Submit"></form>

अब जब फॉर्म जमा किया जाता है, तो एक अत्यधिक उच्च प्रतिशत बॉट्स "ईमेल" और "email_address" दोनों को भर देगा, लेकिन मनुष्य केवल उसी को भरेंगे जो वे देखते हैं, "ईमेल" और "ईमेल_ड्रेस" नहीं। तो आपके `/ प्रक्रिया-फ़ॉर्म 'कोड में आपको बस यह जांचना है कि सत्यापन के लिए email_address खाली है (नहीं)।

सरल और प्रभावी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.