2009-06-03 24 views
3

Ich habe eine Web-App, die einen Benutzer benötigt, um ein Konto zu haben. Dieser Benutzer kann dann "einmal" für einen bestimmten Artikel abstimmen. Einige Benutzer melden sich jedoch für viele Konten an, um das System zu "spielen".Anzahl der Anmeldungen von Benutzerkonten in einem bestimmten Zeitraum einschränken?

Hat jemand irgendwelche Ideen, wie Sie diese Art von Sache einschränken können?

Kann ich die Anzahl der Anmeldungen pro Tag pro IP-Adresse beschränken? (Was sind Probleme damit?)

Irgendwelche anderen Vorschläge ???

Antwort

2

Sie würden sich selbst besser machen, indem Sie die Anmeldungen auf nur eine einzige IP-Adresse pro Benutzer beschränken. Das ist vielleicht nicht gut, wenn Sie planen, Familien zu haben, die alle unter einem Dach leben, um ihre eigenen Konten zu haben, aber in den meisten Fällen ist das praktisch.

+0

Aber was ist dann mit den Leuten (ja, sie existieren noch), die ihren primären Internetzugang von ihrer lokalen Bibliothek bekommen? – AllenG

+0

Sie haben eine ziemlich gute App, wenn sich mehrere Benutzer in derselben Bibliothek befinden und gleichzeitig alle Ihre App verwenden. Klingt wie ein schönes Problem zu haben! Prost. – tom

2

Ja, eine Einschränkung der Anmeldungen pro IP ist sinnvoll. Ich würde wahrscheinlich mit Anmeldungen pro rollierender Zeitperiode gehen (sagen wir, maximal ein neues Konto in einer Stunde pro IP). Sie können auch verdächtige Anmeldungen (z. B. mehr als fünf pro Tag pro IP) für eine spätere Nachverfolgung markieren.

Sie können Benutzer auch von der Stimmabgabe einschränken, bis sie eine Hürde überschritten haben, ähnlich wie das Reputationssystem von SO. Stimmabstimmung verhindern, bis sie eine Woche lang Nutzer waren, mindestens zweimal gepostet haben, eine Freundschaftsanfrage haben, etc.

1

Ich erinnere mich, als ich ein Online-RPG lief, wenn mehr als 5 oder mehr Konten angemeldet waren mit der gleichen IP am selben Tag.

0

Ein mögliches Problem liegt vor, wenn sich Ihre Benutzer hinter einem NAT befinden, z. B. einem Heimrouter, einem ISP-Proxy oder einer Unternehmensfirewall. Sie werden die gleiche IP für alle von ihnen sehen.

Anstatt Personen zu blockieren, würde ich einfach ihre IPs aufzeichnen und einen Bericht über doppelte IPs erstellen, den Sie regelmäßig ausführen können, um verdächtige Aktivitäten zu untersuchen.

Zusätzlich können Sie eine soziale Annäherung nehmen, die IP des Benutzers irgendwo bekannt geben. Dies wird Personen, die Konten fälschen, vorschnell warnen und abschrecken sowie es Ihrer Gemeinschaft von Benutzern ermöglichen, potenzielle Fälscher zu identifizieren.

+0

Aber hier geht es nicht um Benutzeraktivität, da bin ich mir ziemlich sicher. Was zählt, ist die Wahrscheinlichkeit, dass mehrere neue Konten relativ zeitgleich aus derselben IP-Adresse erstellt werden. Das ist eine rote Flagge in meinem Buch. – tom

1

Leute erwähnen das NAT-Problem. Lesen Sie den Header x-forwarded-for und vergleichen Sie diesen mit der Standard-IP-Adresse.

Wenn x-forwarded-for vorhanden ist, verwenden Sie diesen Wert. Die meisten korrekt konfigurierten NAT-Router füllen dieses Feld. Die einzigen, die dies nicht tun, sind typischerweise anonyme Proxies.

Wenn Sie wirklich besorgt sind, dass Leute das System spielen, verwenden Sie ein Flash-Bit, das Sockets verwendet, um eine Verbindung herzustellen, und geben Sie Session-ID an den Socket-Listener. Sie können das dann mit der IP-Adresse vergleichen und x-forwarded für. Wenn es nicht übereinstimmt, sind sie hinter einem anonymen Proxy. Sie können sich sicher fühlen, dass Sie keine Konten erstellen dürfen.

Dies funktioniert, weil die meisten anonymen Proxies keine vollständigen Socks-Proxies sind, in denen der gesamte Netzwerkverkehr läuft, nur HTTP. Dies funktionierte sehr gut für mich in der Vergangenheit, wo wir einen Wettbewerb mit Abstimmungen hatten und Leute anonyme Proxies verwendeten, um das System zu spielen.

1

Anstatt nach Konto zu begrenzen, können Sie Einschränkungen per E-Mail-Adresse einrichten. Wenn Benutzer ihre E-Mail-Adresse angeben müssen, erstellen Sie bereits eine Hürde für sie. Stellen Sie sicher, dass sie auf eine Bestätigungs-E-Mail antworten müssen, um sicherzustellen, dass die E-Mail-Adresse echt ist. Behalten Sie auch die E-Mail-Adresse und die IP-Adresse im Auge, indem Sie jede Anzahl als verdächtig markieren, wenn eine einzelne IP-Adresse z.5 oder mehr E-Mail-Adressen. (In diesem Fall könnten Sie diese Adressen überprüfen, um zu sehen, ob sie irgendwie zusammenhängen, wie alle von der gleichen Domain oder ähnlichen Namen.) Sicher, Leute können Dutzende von E-Mail-Adressen mit GMail oder Hotmail erstellen oder sogar wenn sie ihre eigenen privaten haben Domain. Aber für viele ist das schon ein bisschen zu viel. Wenn Sie fünf E-Mail-Adressen von gmail.com mit der gleichen IP-Adresse sehen, ist es grundsätzlich verdächtig.

0

Ich würde empfehlen, einen anderen Authentifizierungsmechanismus wie OpenID zu implementieren, oder sind Alex gesagt, zwingen die Benutzer, eine gültige E-Mail anzugeben und senden Sie Bestätigungslinks per E-Mail, bevor Konten erstellt werden.

Meine Präferenz ist OpenID sicher.

Verwandte Themen