هل هناك طريقة موثوقة لمنع الغش في مسابقة على شبكة الإنترنت حيث يمكن للمستخدمين المجهولين التصويت؟

StackOverflow https://stackoverflow.com/questions/55835

  •  09-06-2019
  •  | 
  •  

سؤال

أنا أعمل على مسابقة على شبكة الإنترنت من المفترض أن تسمح للمستخدمين المجهولين بالتصويت، لكننا نريد منعهم من التصويت أكثر من مرة.يمكن تجاوز الحدود المستندة إلى IP باستخدام وكلاء مجهولين، ويمكن للمستخدمين مسح ملفات تعريف الارتباط، وما إلى ذلك.من الممكن استخدام تطبيق Silverlight، الذي يمكنه الوصول إلى مساحة التخزين المعزولة، ولكن لا يزال بإمكان المستخدمين مسح ذلك.

لا أعتقد أنه من الممكن القيام بذلك دون أن يصوت أحد الجوكر لنفسه باستخدام روبوت أو شيء من هذا القبيل.حصلت على فكرة؟

هل كانت مفيدة؟

المحلول

الجواب القصير هو:لا.الجواب الأطول هو:ولكن يمكنك جعل الأمر صعبًا بشكل تعسفي.ماذا كنت سأفعل:

  • يتطلب التصويت حل كلمة التحقق (لتجنب التصويت الآلي قدر الإمكان).لكي تكون أكثر فعالية، أوصي بإعداد أنواع متعددة من رموز التحقق البسيطة (مثل "اختر الصورة مع القطة"، "ما هو 2+2"، "اكتب الكلمة"، وما إلى ذلك) وقم بتدويرها حسب كل منهما الوقت من اليوم وعن طريق IP، الأمر الذي من شأنه أن يجعل الأنظمة التلقائية غير فعالة (على سبيل المثال، إذا قام شخص ما يستخدم IP A بإنشاء روبوت لحل رموز التحقق، فسيصبح هذا عديم الفائدة في اليوم التالي أو إذا قام بتوزيعه على أجهزة كمبيوتر أخرى/يستخدم الوكلاء)
  • عند التصفية حسب عنوان IP، يجب أن تكون حريصًا على مراعاة المواقف التي يكون فيها العديد من المضيفين خلف عنوان IP عام واحد (يعمل AFAIK AOL على وكلاء جميع عملائهم من خلال عدد قليل من عناوين IP - لذا فإن مثل هذا القيد من شأنه أن يحظر مستخدمي AOL بشكل فعال).أيضًا، يرسل العديد من الوكلاء رؤوسًا تشير إلى عنوان IP الأصلي (مثل X-Forwarded-For)، لذا يمكنك إلقاء نظرة على ذلك أيضًا.
  • أخيرًا، يعد استخدام شيء مثل FSO (كائنات Flash المشتركة - "ملفات تعريف الارتباط الخاصة بالفلاش") غامضًا بدرجة كافية بحيث لا يعرفه 99.99% من الأشخاص.إن Silverlight أكثر غموضًا.لكي تكون أكثر تسللًا، يمكنك شراء نطاق آخر وتعيين FSO من هذا النطاق (لذلك، إذا كان المستخدم يبحث عن مجموعة FSO حسب المجال الخاص بك، فلن يرى أيًا منها)

لا تعتبر أي من هذه الطرق 100%، ولكن نأمل أن تمنحك مجتمعة مستوى الضمان الذي تحتاجه.إذا كنت تريد أن تأخذ هذا إلى مستوى أعلى، فأنت بحاجة إلى إضافة نوع من تسجيل المستخدم (والذي يمكن أن يكون بسيطًا مثل طلب عنوان بريد إلكتروني صالح عند إجراء التصويت وإرسال رابط تأكيد إلى العنوان المحدد وعدم احتساب الأصوات التي لم يتم النقر على الرابط لها - لذلك لا يلزم أن تكون كاملة "إنشاء حساب باسم المستخدم / كلمة المرور / الاسم الأول / اسم العائلة / إلخ").

نصائح أخرى

لا، لا يمكنك ذلك، ولا يتطلب الأمر سوى شخص واحد ومنتدى راغب في ذلك تغيير نتيجة التصويت عبر الإنترنت.

عليك أن تدرك العيوب الكامنة في التصويت عبر الإنترنت، وبدلاً من محاولة الالتفاف عليها حاول استخدامها لصالحك.

-آدم

يمكنك بالتأكيد أن تجعل الأمر صعبًا.

ماذا عن إنشاء ملف تعريف مستخدم يتضمن أشياء مثل عنوان IP ووكيل مستخدم المتصفح واسم الجهاز وأي معلومات أخرى يمكنك الحصول عليها.

قم بتخزين الملف الشخصي لكل مستخدم، ثم إذا تلقيت ملفًا شخصيًا مشابهًا بدرجة كافية لملف موجود بالفعل في قاعدة البيانات (سيتعين عليك تعديل ذلك)، فيمكنك إلغاء هذا التصويت.

أتصور أنه ربما يمكنك إنشاء ملف تعريف أفضل باستخدام Silverlight، على الرغم من أنني لست متأكدًا من المعلومات التي تتيح لك الوصول إليها.

لقد انتهت الحلول من جانب العميل للأسباب التي ذكرتها - حيث يمكن للمستخدم التلاعب بها.يمكن خداع الحلول من جانب الخادم - كما قلت - وتجاوزها.

إذا كنت على استعداد لقبول حقيقة أنك لا تستطيع أن تكون متأكدًا بنسبة 100% من حصولك على صوت واحد بالضبط لكل شخص، فهناك بعض الإجراءات التي يمكنك اتخاذها لتقليل الضوضاء.

  • استخدم اختبار CAPTCHA في نموذج تقديم التصويت الخاص بك لتجعل من الصعب على الروبوتات والبرامج النصية التصويت.
  • حدد عدد الأصوات لكل عنوان IP بواحد.
  • النظر في طلب التسجيل من أجل التصويت.(أعلم أن هذا يبطل جزءًا من سؤالك الأصلي، لكنه يمنحك درجة أكبر من التحكم في التصويت).

هذه بداية جيدة.

تخبرني تجربتي الشخصية في تطوير المسابقة ومراقبتها أنه لا توجد طريقة موثوقة لتجنب الغش إذا سمحت للمستخدمين المجهولين بالتصويت (أو القيام بأي شيء يسمح لهم بالمشاركة في المسابقة).

يمكنك اللعب باستخدام عنوان IP، وإدخال تأخيرات بين الإجراء والإجراء الذي يليه، لكن الأمر صعب حقًا:أفضل طريقة هي إدخال كلمة التحقق أو شيء مشابه، إذا كان ذلك ممكنًا في موقفك الخاص.

وأفضل ما في الأمر هو عدم السماح للمستخدمين المجهولين بالمشاركة:اسمح لهم "باللعب" والوصول إلى المحاكاة، لكن المسابقة تحتاج إلى تسجيل دخول.

لا، إنه جهاز الكمبيوتر الخاص بالمستخدم وهم المتحكمون فيه.لسوء الحظ، الحل الوحيد هو إعادته إلى ملعبك إذا جاز التعبير وطلب المصادقة.

ومع ذلك، يساعد اختبار CAPTCHA على تقييد الأصوات للمستخدمين البشريين على الأقل.

بالطبع، حتى مع المصادقة، لا يمكنك فرض تصويت فردي لأنهم يعلمون الروبوتات كيفية التسجيل...

يجب أن أوافق على أن الإجابة المختصرة هي لا...على الرغم من أنك إذا نظرت إلى إجابتي الأخيرة هنا: كيفية التعرف على المستخدم بشكل مجهول وتخزين تلك المعلومات يمكنك بالتأكيد الحصول عليه ضمن هامش خطأ قدره 6 بالمائة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top