2008-09-03 11 views
12

आप कौन सी तंत्र जानते हैं कि अज्ञात स्पैमर द्वारा आपकी साइट का दुरुपयोग होने से रोकें।क्या आप इंसान हैं? (या स्पैम को कैसे रोकें)

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

उत्तर

13

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

इसका मतलब यह नहीं है कि आप प्री-बिल्ट कैप्चा विजेट की तरह कुछ उपयोग नहीं कर सकते हैं या नहीं। बिल्कुल एक स्टारिंग पॉइंट के रूप में उनमें से एक का उपयोग करें! इसका मतलब है कि आपको इसे कहीं भी कस्टमाइज़ करना है ताकि कुछ अतिरिक्त होता है जो मानक के बाहर होता है और किसी भी पूर्व-मौजूदा स्क्रिप्ट को तोड़ देगा जो आम तौर पर इसे पराजित कर सकता है।

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

0

stackoverflow से है कि इस के साथ मदद में कुछ विशेषताएं है; मुझे लगता है कि आप जो भी सबसे उपयोगी कदम उठा सकते हैं वह अज्ञात उपयोगकर्ताओं और नए खातों को वोट करने की क्षमता को अक्षम कर रहा है। इस तरह, कोई भी सैकड़ों खातों के लिए साइन अप नहीं कर सकता है और अन्य उपयोगकर्ताओं को सशक्त बनाने के लिए अपने एक वोट का उपयोग नहीं कर सकता है। मैं कहूंगा कि एक निश्चित अवधि के लिए कुछ पदों या सदस्यता की आवश्यकता है दोनों सभ्य विकल्प हैं।

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

0

Best non-image based CAPTCHA? सवाल अगर तुम यह पहले से ही नहीं देखा है के जवाब में कुछ विचार नहीं है।

2

वोटों के लिए शुल्क, जैसे कि वे कुछ टेलीविजन "प्रतिभा" कार्यक्रमों पर करते हैं, और बैंक के लिए सभी तरह से स्पैम किए जाते हैं!

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

+0

अमेरिकी आइडल वोटों के लिए शुल्क नहीं लेता है। – jimyi

+0

चूहों, मुझे लगता है कि मैं अपने बच्चों को मतदान से रोकने के लिए एक बहाना के रूप में इसका उपयोग नहीं कर सकता। मेरा जवाब अपडेट करेगा! – erickson

+0

@jimyi: फ़ोन कंपनी जिसके माध्यम से आप अपना टेक्स्ट-संदेश-आधारित वोट भेजते हैं। –

4
  • सीमा समय
  • ब्लॉक anonymizing प्रॉक्सी प्रति आईपी पते के अनुसार वोटों की संख्या।
  • वोटिंग के लिए: "प्रति सत्र आधार" पर फ़ॉर्म द्वारा वापस आने वाले मूल्य को कैसे घुमाया जाए। एक बार "1" का मतलब पहला आइटम है, "2" दूसरा मतलब है। फिर "77" का अर्थ है पहला आइटम, "812" दूसरा मतलब है, ... दृश्य के पीछे कुछ सरल गणित हो सकता है, लेकिन यह उपयोगकर्ताओं को एक ही HTTP क्वेरी को बार-बार भेजने से रोकता है।
  • मेरे लिए क्या काम किया गया है: AJAX रूपों का उपयोग करें, सरल HTTP रूपों का नहीं। तकनीकी रूप से यह नकली वोटों के लिए अधिक जटिल नहीं है, लेकिन मैंने एक साधारण ब्लॉग सॉफ्टवेयर लिखा है और यह केवल स्पैम सुरक्षा तंत्र है AJAX के माध्यम से टिप्पणियां जमा करना - अब तक कोई स्पैम नहीं है।
0

मैं आम तौर पर दोनों के संयोजन का उपयोग करता हूं: अनौपचारिक उपयोगकर्ता सबकुछ ब्राउज़ करने के लिए स्वतंत्र है, लेकिन अगर वह वोट देना चाहता है, तो उसे पंजीकरण करना होगा।

पंजीकरण प्रक्रिया में, स्थिति के आधार पर, मैं मेल के माध्यम से एक ऑप्टिन का उपयोग करता हूं (पंजीकरण पूरा करने और पुष्टि करता हूं कि कम से कम मेलबॉक्स मौजूद है) और/या कैप्चा।

उस बिंदु से आप तय कर सकते हैं कि उपयोगकर्ता एक से अधिक बार, या किसी अन्य नियम को बदल सकता है या नहीं।

बीटीडब्ल्यू मैं आईपी आधारित बाधाओं का प्रशंसक नहीं हूं: ऐसी कई स्थितियां हैं जिनमें बड़े संगठन के नेटवर्क अपने सभी उपयोगकर्ताओं के लिए कुछ आईपी का उपयोग करते हैं, इसलिए वोट देने वाले उपयोगकर्ताओं को अवरुद्ध करने का जोखिम अधिक है।

6

Captcha

Quantum Random Bit Generator Service से, के माध्यम से MNeylon

+2

हरा करने के लिए एक कंप्यूटर प्रोग्राम लिखना जो कष्टप्रद होगा, लेकिन मुश्किल नहीं है। चीजें उत्पन्न करने वाली अधिकांश समस्याओं बुद्धिमान कंप्यूटरों द्वारा हल करने योग्य हैं। – Brian

9

कैप्चा प्रणाली के लिए, मैं दिल से reCAPTCHA सलाह देते हैं।

पारंपरिक कंप्यूटर से उत्पन्न कैप्चा एक पर्याप्त बुद्धिमान प्रणाली विकसित करके eventually be broken होगा। उदाहरण के लिए, here's someone जो Google कैप्चा को तोड़ने का दावा करता है, जिसे पहले 30% हिट दर के साथ अटूट माना जाता था। परिभाषा के अनुसार, reCAPTCHA, आपको केवल उन्हीं छवियों को दिखाता है जिन्हें ऑप्टिकल कैरेक्टर मान्यता द्वारा पहचाना नहीं जा सकता है।

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

आगे स्पष्टीकरण के लिए here देखें और इसे आजमाएं।

4

मैं "छिपे हुए क्षेत्र" कैप्चा का प्रशंसक हूं। मुझे याद नहीं है, जहां मैं इसके बारे में पढ़ा है, लेकिन यह विचार यह है:

  • अपने फॉर्म बनाने सामान्य
  • (आसपास के div या तालिका पंक्ति पर यानी style="display:none") एक अतिरिक्त क्षेत्र जोड़ने लेकिन इसे छिपाने के रूप में जमा करने के बाद
  • , यदि फ़ील्ड खाली है, तो उचित कार्रवाई करें (उदाहरण के लिए एक ईमेल भेजें); यदि क्षेत्र में भर लिया गया है, तो यह एक रोबोट सबमिटर

केवल इस मामले में जहां यह नीचे गिर जाता है है अगर उपयोगकर्ता के ब्राउज़र सीएसएस संभाल नहीं करता है (या वे इसे बंद कर दिया है) है, जो बहुत दुर्लभ है।

+0

मेरा समाधान इस तरह थोड़ा है: मैं इनपुट फ़ील्ड को छुपाने और इसके मान को सेट करने के लिए जावास्क्रिप्ट का उपयोग करता हूं। यदि कोई जावास्क्रिप्ट नहीं है, तो मैं विज़िटर से इसमें एक गैर-मामूली मान दर्ज करने के लिए कहता हूं। अगर जावास्क्रिप्ट, यह स्वचालित है। फिर मैं एक साधारण परीक्षण सर्वर पक्ष करता हूं। – Aif

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