2009-06-24 17 views
29

की अनुमति दिए बिना अज्ञात उपयोगकर्ताओं से वोट रिकॉर्ड करने के लिए एक विश्वसनीय तरीका क्या है, सबसे पहले, मैंने सबसे अच्छा खोजा और सभी एसओ प्रश्नों को पढ़ा जो प्रासंगिक प्रतीत होते हैं, लेकिन कुछ भी विशेष रूप से इसका उत्तर नहीं दिया। यह एक डुप्लिकेट नहीं है, afaik।डुप्लीकेट

जाहिर है कि अगर किसी वेबसाइट पर अज्ञात मतदान की अनुमति है, तो किसी एक से अधिक बार मतदान करने से रोकने के लिए कोई मूर्ख प्रमाण तरीका नहीं है।

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

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

आईपी के खिलाफ रिकॉर्डिंग अगले उचित समाधान लगता है लेकिन मुझे आश्चर्य है कि क्या यह अक्सर झूठी सकारात्मकता प्राप्त करेगा (एनएटी के पीछे एक ही लैन पर कई लोगों के पास एक ही बाहरी आईपी होगा)।

क्या यहां कोई मध्य ग्राउंड होना चाहिए या कुछ अन्य विधि/संयोजन मैं देख रहा हूं?

+3

मुझे इसे इस तरह वाक्यांश दें: आप यह पुष्टि करना चाहते हैं कि कोई विशिष्ट, अद्वितीय व्यक्ति है? यह प्रमाणीकरण है। प्रमाणीकरण गुमनामी के मौलिक विपरीत है। –

+2

मैं पुष्टि नहीं करना चाहता, मुझे बस एक बेहतर "सर्वश्रेष्ठ अनुमान" की आवश्यकता है - अज्ञात उपयोगकर्ता पूरी तरह अज्ञात हैं क्योंकि मुझे उन्हें खाता बनाने की आवश्यकता नहीं है। मेरा मतलब है कि वे सिस्टम के लिए मेहमान हैं, इसलिए उपयोगकर्ता_आईडी के बिना प्रति उपयोगकर्ता "0" –

उत्तर

21

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

हैश रिकॉर्ड करें और यदि आप एकाधिक वोटों की अनुमति चाहते हैं तो काउंटर बढ़ाएं। वोटों को संवेदनशील बनाने के लिए नमक में एक टाइमस्टैम्प (दैनिक, प्रति घंटा आदि) शामिल करें, प्रति दिन 5 वोट कहें।

+0

हैशिंग उपयोगकर्ता की जानकारी बहुत शानदार विचार है! मैं समय आधारित नमक नहीं चाहता हूं, हालांकि वर्तमान में मतदान मॉडल एक ऊपर/नीचे वोट है। –

+0

मैं वर्तमान में इस विधि को लागू कर रहा हूं। मैं ब्रोसर/ओएस (उपयोगकर्ता-एजेंट स्ट्रिंग के हिस्से के रूप में) और PHP के साथ आईपी को पकड़ सकता हूं, लेकिन मुझे जावास्क्रिप्ट का उपयोग किये बिना प्लगइन की एक सूची नहीं मिल सकती है, जिसे उपयोगकर्ता संशोधित कर सकता है, जो हैश वैल्यू को बदल देगा और इस प्रणाली के उद्देश्य को हराने। तो मुझे आशा है कि आईपी + उपयोगकर्ता-एजेंट पर्याप्त अद्वितीय होगा। –

3

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

उपयोगकर्तावॉइस लॉग इन होने पर अज्ञात मतदान और मतदान दोनों की अनुमति देता है, लेकिन फिर व्यवस्थापक को अज्ञात वोटों को फ़िल्टर करने की अनुमति देता है - इस समस्या का एक अच्छा समाधान।

+0

पर एक वोट के करीब उचित रूप से प्राप्त करने के लिए अपने वोट के साथ सहयोग करने के लिए जानकारी का अगला सबसे अच्छा टुकड़ा क्या है, मुझे अच्छी तरह पता है कि प्रमाणीकरण के बिना यह गारंटी देना असंभव है डुप्लिकेट, मैं बस उन्हें कम करने के लिए एक रास्ता देख रहा हूँ। –

10

कुकी का उपयोग करना सबसे आसान जवाब है। जाहिर है, यह लोगों को उनकी कुकीज़ को साफ़ करने के लिए कमजोर है, लेकिन अनाम मतदान किसी भी तरह से मूल रूप से अनुमानित है।

प्रैक्टिस में, जब तक विषय पर मतदान नहीं किया जाता है, तो विवादास्पद या भड़काऊ तरीके से, लोगों को वैसे भी वोट देने के पीछे कोई मकसद नहीं है।

आईपी अधिक 'विश्वसनीय' है लेकिन एनएटी के कारण एक अस्वीकार्य उच्च स्तर के टकराव का उत्पादन करेगा।

आईपी + उपयोगकर्ता-एजेंट (शायद एक हैश) से बना एक और अद्वितीय पहचानकर्ता के बारे में कैसे? इसका प्रभावी ढंग से प्रत्येक आईपी के लिए मतलब है, प्रत्येक सटीक ओएस/ब्राउज़र संस्करण जोड़ी को 1 वोट मिलता है, जो प्रति व्यक्ति 1 वोट के करीब है। अधिकांश ब्राउज़र उपयोगकर्ता-एजेंट में विस्तृत संस्करण जानकारी प्रदान करते हैं - मुझे यकीन नहीं है, लेकिन मेरा आंत महसूस होता है कि यह एनएटी के कारण होने वाले अधिकांश टकरावों को रोक देगा।

एकमात्र ऐसा स्थान जो अभी भी टकराव का उत्पादन करेगा, एक मानक वातावरण वाला कॉर्पोरेट वातावरण है, जहां हर कोई एक समान मशीन का उपयोग कर रहा है।

+1

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

12

चीनी को सैकड़ों अन्य लोगों के साथ एक आईपीवी 4 पता साझा करना है; एचपी/कॉम्पैक/डीईसी में लगभग 50 मिलियन पते हैं। आईपीवी 6 मदद नहीं करता क्योंकि हर किसी को अरबों से पते मिलते हैं। एक व्यक्ति सिर्फ आईपी पते के समान नहीं है, और धारणा कभी और अधिक झूठी हो रही है।

इंटरनेट पर ऐसा करने के लिए कोई उचित तरीका नहीं है। व्यक्ति इंटरनेट पर अज्ञात अवधारणा हैं, और अवधारणा को पेश करने का कोई विचार सफल होने की संभावना नहीं है। (उदाहरण के लिए, बहुत सी सरकारें ऐसा नहीं करना चाहतीं।)

बेशक, आप उस आईपी से दोहराए गए पृष्ठ विज़िट के आम तौर पर प्रति आईपी वोटों को जोड़ सकते हैं, खासकर कुकी ट्रैकिंग के साथ संयोजन में। यदि आप वोटिंग अवधि शुरू करने से पहले उस नंबर का अनुमान लगाते हैं तो यह सबसे अच्छा काम करता है।यदि शीर्ष 5% लोकप्रिय लेख आम तौर पर एक ही आईपी से 10 बार पढ़ते हैं, तो संभवतः 10 लोग उस आईपी को साझा करते हैं और उन्हें 10 वोट मिलना चाहिए। कुकीज़ को एक-दूसरे के वोट चुरा लेने से रोकने के लिए इस्तेमाल किया जा सकता है, लेकिन पूरी तरह से वे आपके चुनाव को नहीं छोड़ सकते हैं। (नोट: यह छोटे समुदायों में विफल रहता है जहां मतदाताओं का एक बड़ा समूह आईपी की एक छोटी संख्या से आता है, विशेष रूप से यह विश्वविद्यालयों के आसपास होता है)।

2

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

लगातार कुकी आपकी सबसे अच्छी शर्त होगी - और आपको इस तथ्य के साथ रहना होगा कि यह गेम आसान है। कम से कम जब कुकी लगातार होती है (सत्र आधारित के विपरीत) आप एक ऐसे ब्राउज़र को चलाने वाले अधिकांश उपयोगकर्ताओं को पकड़ लेंगे।

यदि आप वास्तव में परिणामों पर भरोसा करना चाहते हैं, तो आपको प्रक्रिया में कुछ प्रकार की पहचान जोड़नी होगी (जैसे ई-मेल सत्यापन, जो अभी भी गेम करने योग्य है)।

दिन के अंत में किसी भी इंटरनेट सर्वेक्षण में त्रुटियां होने वाली हैं (जैसे: http://www.time.com/time/arts/article/0,8599,1894028,00.html), और आपको इसके साथ रहना होगा।

+0

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

1

दो विचारों अभी तक का उल्लेख नहीं कर रहे हैं:

  • उपयोगकर्ता के ईमेल पते के लिए पूछना है और उन्हें एक सत्यापन लिंक
  • ईमेल एक कैप्चा

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

+0

अच्छी तरह से उपयोगकर्ता गुमनाम होने के लिए अज्ञात नहीं हैं बल्कि आसानी के लिए हैं। मैं उन्हें प्रत्येक वोट के लिए किसी भी रूप में भरना नहीं चाहता हूं या वास्तव में –

3

प्रति आइटम केवल एक वोट की अनुमति के लिए एक लगातार कुकी का उपयोग करें

और रिकॉर्ड आईपी, अगर वहाँ कम से कम एक्स मिनट में 100 से अधिक (1,000? 10,000?) अनुरोध कर रहे हैं तो "सॉफ्ट ब्लॉक" आईपी ​​

"सॉफ्ट ब्लॉक": "आपका आईपी अवरुद्ध कर दिया गया है" कहकर एक पृष्ठ न दिखाएं, लेकिन अपना "धन्यवाद के लिए धन्यवाद" पृष्ठ दिखाएं और अपने डीबी में वोट रिकॉर्ड न करें। आप केवल उस आईपी के लिए काउंटर बढ़ा सकते हैं। आप उन्हें यह जानना चाहते हैं कि आप उनके आईपी को अवरुद्ध कर रहे हैं।

+0

मैं पहले ऐसा कर रहा था, लेकिन कर्ल की तरह कुछ कुकीज़ का उपयोग नहीं करता है ताकि वे थोड़ी देर में कर्ल चलाकर वोट खेल सकें। मैं उपयोगकर्ता एजेंट + आईपी कॉम्बो के साथ बस गया। कुछ प्रकार के उपयोगकर्ता रिकॉर्ड में वोट डाले बिना कुछ भी 100% नहीं होगा, लेकिन ऐसा लगता है कि यह काफी अच्छा काम कर रहा है। –

0

मैं एक ही समस्या है, और यहाँ मैं कर रही पर क्या योजना बना रहा हूँ ...

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

इस हैश (आईपी + UA स्ट्रिंग) बनाने के बारे में जाने का सबसे अच्छा तरीका क्या है?

+1

आप कुकी का उपयोग नहीं करना चाहते हैं। सिस्टम को गेम करने का यह सबसे आसान तरीका है। कर्ल और wget कुकीज को संरक्षित नहीं करेगा, इसलिए कमांड लाइन पर एक साधारण कुकी-आधारित सिस्टम पूरी तरह खत्म हो जाएगा –

+0

जैसा कि मैंने उपर्युक्त उल्लेख किया है, पूरी तरह से कुकी पर निर्भर नहीं हूं ... आईपी पता संग्रहित कर रहा हूँ और डीबी में उपयोगकर्ता एजेंट स्ट्रिंग भी है, और अब तक एक ही आईपी + UA कॉम्बो से प्रति दिन केवल 5 वोट की अनुमति दे रहा हूं। – Paganwinter

+0

तत्काल ध्यान देने की आवश्यकता है: "अटैकर प्रत्येक 5 अनुरोधों में UA में अपने ब्राउज़र के संस्करण में 1 जोड़ता है और अनंत वोट प्राप्त करता है!" अब कोई तरीका है कि आप "वास्तविक" पहचान जांच के बिना उचित रूप से सुरक्षित नहीं कर सकते हैं, या कम से कम कुछ ऐसा जो कुछ हमलावर को पैसे खर्च करेगा, जैसे एसएमएस के माध्यम से एक अद्वितीय कोड भेजना। – Shadok

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