Gibt es eine zuverlässige Möglichkeit, Betrug bei einem webbasierten Wettbewerb zu verhindern, bei dem anonyme Benutzer abstimmen können?

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

  •  09-06-2019
  •  | 
  •  

Frage

Ich arbeite an einem webbasierten Wettbewerb, der es anonymen Benutzern ermöglichen soll, abzustimmen. Wir möchten jedoch verhindern, dass sie mehr als einmal abstimmen.IP-basierte Beschränkungen können mit anonymen Proxys umgangen werden, Benutzer können Cookies löschen usw.Es ist möglich, eine Silverlight-Anwendung zu verwenden, die Zugriff auf isolierten Speicher hätte, aber Benutzer können dies trotzdem löschen.

Ich glaube nicht, dass das möglich ist, ohne dass sich irgendein Witzbold mit einem Bot oder so etwas selbst hochwählt.Habe eine Idee?

War es hilfreich?

Lösung

Die kurze Antwort lautet: nein. Die längere Antwort ist: aber man kann es beliebig schwierig machen. Was ich tun würde:

  • erfordert Voting ein Captcha lösen (so viel wie möglich automatisiert Abstimmung zu vermeiden). Um noch effektiver würde ich empfehlen, bereit, mehrere Arten von einfachen Captchas zu haben (wie „das Foto mit der Katze holen“, „was 2 + 2“, „geben Sie das Wort“, etc) und drehen sie beide durch den Zeit des Tages und von IP, die automatischen Systemen unwirksam machen sollte (dh, wenn jemand IP A mit erstellt einem bot das captcha zu lösen, dies nutzlos am nächsten Tag werden wird oder wenn er / sie verteilt sie auf anderen Computern / verwendet Proxies)
  • Wenn die IP-Filterung sollte man vorsichtig sein, Situationen zu prüfen, in denen mehrere Hosts hinter einer öffentlichen IP sind (AFAIK AOL Proxies alle ihre Kunden durch ein paar IPs - so eine solche Einschränkung würde AOL-Nutzer effektiv verbieten). Auch senden viele Proxys entlang Header auf die ursprüngliche IP zeigt (wie X-Forwarded-For), so können Sie einen Blick auf das nehmen.
  • Schließlich (Objekte Flash-Geteilt - „Flash-Cookies“) mit so etwas wie FSO ist dunkel genug für 99,99% der Menschen über nicht zu wissen. Silverlight ist noch unklar. Um noch hinterhältiger, könnten Sie eine andere Domain kaufen und stellen Sie die FSO aus dieser Domäne (so, wenn der Benutzer sucht BFS gesetzt, indem Sie Ihre Domain, werden sie nicht sehen vorhanden)

Keine dieser Methoden ist zu 100%, aber hoffentlich kombiniert sie geben Sie das Niveau der Sicherheit, die Sie brauchen. Wenn Sie diese eine Ebene höher nehmen möchten, müssen Sie irgendeine Art von Benutzer-Registrierung hinzuzufügen (die eine gültige E-Mail wie die Frage Adresse kann so einfach sein, wenn die Abstimmung stattfindet und einen Bestätigungslink an die angegebene Adresse zu senden und nicht das Zählen Stimmen für die der Link nicht geklickt - so muss es nicht ein vollwertiges „erstellen sie ein Konto mit Benutzername / Passwort / Vorname / Nachname / etc“)

sein.

Andere Tipps

Nein, das kann man nicht, und es dauert nur eine Person und ein williges Forum ändern, das Ergebnis einer Online-Abstimmung .

Sie haben die systemimmanenten Mängel einer Online-Abstimmung zu erkennen, und anstatt zu versuchen zu umgehen, sie versuchen, sie zu Ihrem Vorteil zu nutzen.

-Adam

Sie können sicher machen es schwierig.

Was ist ein Benutzerprofil mit solchen Dingen wie IP-Adresse erstellen, Browser User-Agent, Computername, und was auch immer andere Informationen können Sie erhalten.

Speichern Sie das Profil für jeden Benutzer, dann, wenn Sie ein Profil erhalten, die auf eine ähnlich genug ist bereits in der Datenbank (Sie werden feststellen, dass zwicken haben) Sie diese Abstimmung werfen kann.

ich denke, Sie können sich wahrscheinlich ein besseres Profil bauen Silverlight verwenden, obwohl ich nicht sicher bin, welche Informationen, die Sie Zugang zu ermöglichen.

Die clientseitige Lösungen sind aus den Gründen, die Sie aufgelistet - sie können vom Benutzer manipuliert werden. Server-Side-Lösungen - wie Sie gesagt haben -. Täuschen kann und umgangen

Wenn Sie bereit sind, die Tatsache zu akzeptieren, dass man kann wirklich nicht zu 100% sicher sein, dass Sie immer genau eine Stimme pro Person, dann gibt es einige Maßnahmen, die Sie um den Lärm zu reduzieren nehmen können.

  • ein CAPTCHA in Ihrem Stimme-Einreichungsformular verwenden, um es schwieriger für Bots und Skripte zu wählen.
  • Beschränken Sie die Anzahl der Stimmen pro IP-Adresse ein.
  • Betrachten Registrierung erforderlich ist, um zu stimmen. (Ich weiß, das Teil Ihrer ursprünglichen Frage besiegt, aber es gibt Ihnen ein höheres Maß an Kontrolle über die Abstimmung.)

Das ist ein guter Anfang.

meine persönliche Erfahrung in Wettbewerb zu entwickeln und Überwachung sagt mir, dass nicht, gibt es keine zuverlässige Möglichkeit ist Betrug zu vermeiden, wenn Sie anonyme Benutzer können abstimmen (oder irgendetwas tun, dass sie teilnehmen am Wettbewerb kann).

Sie mit IP einführen Verzögerungen zwischen einer Aktion und den nächsten spielen könnten, aber es ist wirklich schwierig. Der beste Weg, einen Captcha oder etwas ähnliches ist einführen, ggf. in Ihrer speziellen Situation

am besten von allen, lassen Sie sich nicht anonyme Benutzer teilnehmen. Lassen Sie sie „spielen“ und den Zugang zu einer Simulation, aber der Wettbewerb muss ein Login

Nein, es ist der Computer des Benutzers und sie haben alles unter Kontrolle. Leider ist die einzige Lösung ist es so auf dem Gericht zu bringen Authentifizierung zu sprechen und erforderlich ist.

Allerdings hilft ein CAPTCHA die Stimmen für die menschlichen Benutzer zumindest zu begrenzen.

Natürlich auch mit Authentifizierung können Sie nicht einzelne Abstimmung erzwingen, weil dann lehren sie die Bots registrieren ...

Ich muss zustimmen, dass die kurze Antwort ist nein ... aber wenn Sie auf meiner letzten Antwort hier: Wie anonym einen Benutzer zu identifizieren und diese Informationen speichern sicherlich es innerhalb von 6 Prozent Fehlerquote erhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top