2013-05-08 5 views
5

Diese Frage bezieht sich nicht speziell auf ASP.NET, sondern auf mehr Webanwendungen im Allgemeinen.Wie kann ich überprüfen, ob es derselbe Benutzer in ASP.NET ist?

Ich baue eine Webanwendung, in der ich einen Benutzer registriere. Ab jetzt nehme ich sehr einfache Anmeldeinformationen wie Vorname, Nachname usw. des Benutzers. In dieser Website gebe ich einige Informationen für jeden Benutzer, der sich gerade registriert hat, kostenlos, so dass der Benutzer meine Website authentisch findet und dass es keine gefälschte Website ist. Danach muss der Benutzer bezahlen, um mehr Informationen zu erhalten.

Die Informationen, die meine Site zur Verfügung stellt, werden nach einiger Zeit veraltet sein. Wenn sich ein neuer Benutzer registriert, erhält er die neuen Informationen, die aktualisiert werden. aber die alten Benutzer müssen zahlen, um die gleichen neuen Informationen zu erhalten.

Mein Problem hier ist, sobald die Informationen veraltet ist die gleiche Person kann mit einem anderen Satz von Anmeldeinformationen neu registrieren und die neuen Informationen erhalten. Ich möchte verhindern, dass dies geschieht.

Also meine Frage hier ist das: Welche Informationen sollte ich vom Benutzer anfordern, oder extrahieren Sie vom Benutzer, um zu überprüfen, dass der gleiche Benutzer nicht erneut registriert? Oder jede andere Möglichkeit, dies zu ermöglichen.

Ich denke daran, die IP-Adresse der Maschine, von der die Person registriert wird, zu erhalten und sie zu überprüfen. Aber der Benutzer kann eine andere Maschine verwenden, um sich erneut zu registrieren.

Ich bin hier völlig verloren und bekomme keine Lösung. Ich habe sogar im Internet nachgesehen, konnte aber keine Antwort finden.

Bitte lassen Sie mich wissen, wenn Sie weitere Informationen von meiner Seite benötigen.

+0

IP ist offensichtlich keine Option: mit den meisten Providern ändert sich von Zeit zu Zeit IP, Benutzer hinter einem Proxy können die gleiche IP haben, während online, etc ... Sie könnten sie bitten, sich mit ihrem Facebook-Konto zum Beispiel einloggen (aber sie können noch einen anderen erstellen), oder fragen Sie einfach nach einer Kreditkartennummer ... –

+0

Ich würde nach einem nicht gmail Konto fragen. Oder ein E-Mail-Konto mit einer Bestätigung. Mit Web.Security in ASP.NET erfordert das Erstellen und Löschen von Benutzern ein Token. Wenn ein Benutzer versucht, dasselbe Konto zu verwenden, das bereits auf dem System vorhanden ist, wird es mit einem Fehler zurückgeworfen. Aber mit einem Nicht-Google Mail-Konto verhindern Sie, dass Benutzer eine Menge Bigus-E-Mails erstellen. – ApolloSoftware

+1

IMO, es ist fast unmöglich zu überprüfen, ob die gleiche Person ist hinter verschiedenen E-Mail-IDs, Handy-Nummern, IP-Adressen usw., es sei denn, Sie könnten eine Art manuelle Überprüfung wie Personalausweis, Reisepass, Führerschein usw. implementieren möglich, wenn Sie relativ begrenzte oder gezielte Mitgliedschaftsangebote haben. –

Antwort

7

Sie werden nicht finden Sie eine technische Möglichkeit, Benutzer zu verhindern, mehrmals zu registrieren. Sie können einfach ein anderes Gerät, IP, ein anderes E-Mail-Konto und andere Anmeldeinformationen verwenden.

Was Sie tun können, ist, sie zu bitten, Sie zu schicken, um "Offline" Informationen zu fälschen, wie eine Kreditkartennummer oder ein Foto der ID. Einige Benutzer können sich auf diese Weise möglicherweise mehrmals registrieren, aber wahrscheinlich nicht unbegrenzt. Sie werden jedoch auf diese Weise viele mögliche Kunden verlieren, die nicht bereit sind, solche Informationen für ein Testkonto bereitzustellen, daher ist dies wahrscheinlich nicht die gewünschte Lösung.

würde Mein Rat eine der beiden folgenden sein:

  • Begrenzen Sie die Informationen/Service, den Sie kostenlos Benutzer geben, so dass, selbst wenn sie sich registrieren wieder werden sie etwas gewinnen, wenn sie zahlen.
  • Versuchen Sie, sie so an ihr Konto zu binden, dass sie etwas verlieren würden, wenn sie es wegwerfen würden. Dies kann zum Beispiel sein, Benutzerbelohnungen für Aktivitäten (real oder virtuell) bereitzustellen oder ihre Erfahrung basierend auf ihrer Geschichte zu erhöhen. Nimm zum Beispiel SO: Wenn du dich erneut registrierst, verlierst du all deinen Ruf. Die Benutzer werden zweimal überlegen, ob dies den neuen Inhalt wert ist.
1

Ich glaube, Sie keine Benutzer so sagen kann, weil alles, was

Duplikat sein können Es gibt einige Möglichkeiten, für die der Benutzer muss Zahlungsmodus oder Identitäts Details wie Reisepass oder es ist Windows-Anwendung Sie haben können Fingerscanner wird es definitiv einzigartig sein ..

1

Sie können dies (mit Einschränkungen) mit der Verwendung von Cookies tun. Durch das Setzen eines Cookies auf dem Benutzergerät können Sie bestimmen, wer der Besucher ist und sich bereits registriert hat.

Die Einschränkungen sind, dass Cookies gelöscht oder blockiert werden können und nur für diesen bestimmten Benutzeragenten gelten - der Benutzer könnte ein anderes Gerät oder einen anderen Browser auf demselben Gerät verwenden. Viele Leute wissen jedoch nicht wirklich über Cookies und wie man sie löscht.

Wenn Sie diese Technik mit der Anforderung verbinden, eine gültige E-Mail-Adresse anzugeben, können Sie sich mehrmals registrieren, da sie ein neues E-Mail-Konto erstellen und ihre Cookies löschen müssen.

Ob das genug Leute stoppen wird, hängt von Ihrer Seite und Ihren Anforderungen ab - wenn Sie Geld verschenken, ist diese Technik bei weitem nicht gut genug. Wenn Sie nur die Verwendung mehrerer Konten verhindern möchten, reicht das möglicherweise aus.

1

Ihr einziger Ausweg ist es, ETWAS zu haben, den der bestehende Benutzer als "Geschenk" bekommt. oder Mehrwert, um nur ein Konto zu verwalten. Wenn Sie Ihren Abonnenten Wertgegenstände zuordnen und anbieten können, sie ihnen zu "geben", vorausgesetzt, ihr Konto "erreicht" einen oder mehrere Status, dann erhalten Sie etwas Kontrolle. Nehmen Sie zum Beispiel stackoverflow.com, ich brauche kein zweites Konto.

2

Nachdem ich all die oben genannten gelesen habe, denke ich, eine gute Lösung könnte sein, den Benutzer sich über facebook oder linkedin identifizieren zu lassen. Wenige Leute werden einen zweiten Account haben.

1

Identifizieren von Facebook oder Linkedin ist eine gute Option, aber wenn Sie solche Dienste geben. Das ist sehr vorteilhaft für die Benutzer, also kümmern sie sich nicht um mehrere Konten auf sogar Facebook oder verlinkt in. Also was ich denke ist, einige Belohnungstypen Zeug mit jedem Benutzer zu setzen, und erhöhen Sie die Dienste, wie sie erhöhen Belohnungen. Sobald sie in Belohnungen gut sind und mehrere Dienste verwenden können, erhöht dies die Wahrscheinlichkeit, dass sie kein anderes Konto erstellen.