2012-05-23 33 views
6

मैं जिस वेबसाइट पर काम कर रहा हूं, उसके पंजीकरण फॉर्म के लिए कैप्चा (या रिकैप्चा) के विकल्प का उपयोग कर रहा हूं।स्पैमबॉट सीधे सर्वर पर पोस्ट करें या HTML फॉर्म भरें?

मेरा मानना ​​है कि कैप्चा ने नकारात्मक रूप से यूएक्स को प्रभावित किया है। मैं छिपा क्षेत्रों का उपयोग करते हुए देख रहा था लेकिन जाहिरा तौर पर वे सब पर प्रभावी नहीं हो (संदर्भ: http://radio.javaranch.com/davo/2008/10/15/1224063498569.html)

उस लेख राज्यों पर एक टिप्पणी:

कोई है कि मेरे काम का हिस्सा के रूप में कॅप्चा पटाखे लिखते हैं (नहीं, स्पैमिंग के लिए नहीं), मैं आपको आश्वस्त कर सकता हूं कि एक छिपे हुए क्षेत्र में मुझे यात्रा नहीं होगी। जैसा कि एक और पोस्टर का उल्लेख है, मैं वायर ट्रैफिक, पर जांच करता हूं और फ़ॉर्म के HTML में होने पर क्या होता है, इस पर अधिक ध्यान नहीं देते हैं।

इससे मुझे विश्वास हुआ कि स्पैमबॉट फॉर्म के अनुरोध के बजाय सर्वर को सीधे पोस्ट अनुरोध करते हैं और इसे भरते हैं।

यदि ऐसा है, तो क्या होगा यदि मैं एक छुपा, केवल-पढ़ने वाला फ़ील्ड बनाउं जो मैं सत्र में संग्रहीत हैश के साथ पूर्व-पॉप्युलेट करता हूं। जब उपयोगकर्ता फॉर्म सबमिट करता है, तो मैं मानों की तुलना कर सकता हूं। क्या यह स्पैमबॉट्स को दूर रखने के तरीके के रूप में काम करेगा, या क्या मैं कुछ देख रहा हूं?

यदि फ़ॉर्म का कभी अनुरोध नहीं किया गया है, तो मुझे, सत्र में संग्रहीत कोई हैश नहीं मिलेगा और इस प्रकार अनुरोध को अनदेखा कर सकता है।

+3

आप कम से कम तीन धारणाएं बना रहे हैं कि आपको पुन: एक्सचेंज करना चाहिए: 1. सभी कैप्चा क्रैकर्स एक ही तकनीक का उपयोग करते हैं; 2. कि आपके पास यह विचार था कि जो लोग पेशेवर रूप से कैप्चा बनाते हैं और जो लोग उन्हें पेशेवर रूप से क्रैक करते हैं वे नहीं हैं (और पता नहीं लगा सकते हैं); 3. आपकी साइट जल्द ही स्पैमर के लिए एक लक्ष्य बनने जा रही है जो आपके लिए अभी विकास के समय को समर्पित करने के लिए पर्याप्त है। वे नहीं करते हैं, आपने नहीं किया है, और यह नहीं है। –

+1

@ जोर्डन: मैं मानता हूं कि मैं पहली दो मान्यताओं को बना रहा हूं। दुर्भाग्य से, तीसरा उनमें से एक नहीं है। मैं अभी भी साइट पर काम कर रहा हूं, पिछले सप्ताह पंजीकरण कार्यक्षमता पूरी कर चुका हूं, और मेरे डेटाबेस में पहले से ही 3 स्पष्ट बॉट हैं। – xbonez

+0

@xbonez टिप्पणियों में आपका दावा बहुत अधिक 'विश्वास' को अस्वीकार करता है जिसका आप नेतृत्व कर रहे थे। –

उत्तर

6

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

आप दिए गए चुनौती को संशोधित करने और इसे किसी निश्चित तरीके से संशोधित करने के लिए जावास्क्रिप्ट जोड़ने पर भी विचार कर सकते हैं। इसके बाद हमलावर को यह पता लगाना होगा कि आपका कोड स्वचालित फैशन में इसे दोहराने से पहले क्या करता है। ट्रांसफॉर्मेशन एक साधारण rot13 या अधिक जटिल xor संचालन हो सकता है। md5, sha1 जैसी चीजें एल्गोरिदम स्थापित की गई हैं, इसलिए वे एक खराब विकल्प हैं; यह कस्टम होना है।

बेशक, यदि कोई हमलावर आपकी साइट को लक्षित करने पर बाध्य है, तो स्पैम को आने से रोकने के लिए आप इतना कुछ नहीं कर सकते हैं; वह बदसूरत सच है। उदाहरण के लिए, वे Selenium चला सकते हैं और आपके द्वारा सावधानीपूर्वक निर्मित सभी जावास्क्रिप्ट सुरक्षा को बाधित कर सकते हैं।

+1

मुझे जेएस को मिश्रण में लाने का विचार भी पसंद है। जब आपने कहा 'चुनौती को संशोधित करने के लिए जावास्क्रिप्ट का उपयोग करें', तो आपको क्या दिमाग में था? कुछ ऐसा है, शायद, हैश को उलट देता है? – xbonez

+0

मैं मानता हूं, आम तौर पर कैप्चास के पूरे बिंदु स्पैमर के लिए कम्प्यूटेशनल काम को बढ़ाने के लिए है ताकि स्पैमिंग अधिक महंगा हो जाए। ब्राउज़र में कुछ गणना करने के बाद इस लक्ष्य की ओर जाता है। – jhonkola

+0

@xbonez मैंने उत्तर –

0

मैं कहूंगा कि यह बॉट पर निर्भर करता है। कोई व्यक्ति आपकी साइट लक्षित है, तो यह बहुत आसानी से उन्हें धोखा दिया जा सकता है:

फार्म के साथ
  1. अनुरोध पृष्ठ और सत्र मूल्य
  2. में भरे फार्म भरें और सबमिट करें।

मैं कहूंगा कि यह लगभग कोई सुरक्षा नहीं है।

अफसोस की बात है कि मैं बॉट्स की वर्तमान स्थिति से परिचित नहीं हूं और वे कैसे काम करते हैं, इसलिए यह सिर्फ मेरा इनपुट है कि इस कार्यान्वयन के आसपास काम करना कितना आसान होगा।

+0

यह सच है कि मेरी वेबसाइट पर लक्षित एक बॉट सुरक्षा को बाधित कर सकता है। एक उन्नत बॉट सीएसएस को पार्स कर सकता है और छिपे हुए फ़ील्ड को भी पहचान सकता है। मैं 'सबसे प्रभावी' विधि के लिए बसूंगा क्योंकि एक 'सही विधि' शायद मौजूद नहीं है। – xbonez

0

विभिन्न स्पैमबॉट विभिन्न तरीकों का उपयोग करते हैं।

लेकिन सबसे लचीला स्पैम बॉट: फार्म के साथ 1. अनुरोध पेज 2. पढ़ा क्या-प्रांगण यह कुछ भरा मूल्यों के साथ पाया क्षेत्रों के साथ 3. भेजने पोस्ट अनुरोध शामिल

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

2

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

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

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

अनुमोदित, कैप्चा पूर्ण समाधान नहीं हैं - ऐसे सॉफ्टवेयर मौजूद हैं जो उन्हें हल कर सकते हैं (कुछ मामलों में) मनुष्यों की तुलना में अधिक सटीक रूप से। वे समृद्ध नाश्ते अनाज की तरह, केवल इस पूरे नाश्ते का हिस्सा हैं - और उनके सही दिमाग में कोई भी स्पैम के साथ दिन शुरू नहीं करेगा। ;)

मॉडरेटिंग नए उपयोगकर्ता संभवतः बहुत उपयोगी साबित होंगे।

+0

हाँ, ऐसा लगता है कि मुझे कुछ अधिक आक्रामक के साथ जाना होगा। मैं ईमेल सत्यापन के साथ जाने के बारे में सोच रहा हूँ। स्पैमबॉट्स खातों की पुष्टि करने में सक्षम नहीं हैं, है ना? – xbonez

+0

ईमेल सत्यापन? बेशक वे पूरी तरह से सक्षम हैं - यह एक छोटी सी समस्या है। सभी स्पैमबॉट्स नहीं कर सकते हैं, लेकिन ध्यान रखें कि एक मानव उपयोगकर्ता खाता –

+1

सेट अप करने के बाद बहुत सारे स्पैम होता है तर्कसंगत सोचें: यदि सत्यापन का कोई तरीका था कि एक बॉट पास नहीं हो सका, तो हर कोई इसका इस्तेमाल करेगा। अब स्पैम नहीं होगा। इसलिए, मूर्खतापूर्ण कुछ भी नहीं है। –