2013-05-08 21 views
5

Questa domanda non è correlata a ASP.NET in particolare, ma a più applicazioni Web in generale.Come posso verificare se è lo stesso utente in ASP.NET?

Sto costruendo un'applicazione web in cui sto registrando un utente. A partire da ora sto acquisendo credenziali di base come Nome, Cognome, ecc. Dell'utente. In questo sito Web fornisco gratuitamente alcune informazioni per tutti gli utenti che si sono appena registrati in modo che l'utente trovi il mio sito Web autentico e che non sia un sito Web fasullo. Dopodiché, per ottenere maggiori informazioni, l'utente deve pagare.

Le informazioni che il mio sito fornisce diventeranno obsolete dopo un po '. Quindi, quando un nuovo utente si registra, lui/lei otterrà le nuove informazioni che vengono aggiornate; ma i vecchi utenti devono pagare per ottenere le stesse nuove informazioni.

Il mio problema qui è che una volta che le informazioni diventano obsolete la stessa persona può registrarsi nuovamente con un diverso insieme di credenziali e ottenere le nuove informazioni. Voglio evitare che ciò accada.

Quindi la mia domanda è questa: quali informazioni devo richiedere all'utente o estrarre dall'utente per verificare che lo stesso utente non si registri nuovamente? O qualsiasi altro modo per renderlo possibile.

Sto pensando di ottenere l'indirizzo IP della macchina da cui la persona si sta registrando e usarlo per controllare. Ma l'utente può utilizzare una macchina diversa per registrarsi di nuovo.

Sono completamente perso qui e non ho trovato la soluzione. Ho anche controllato su Internet ma non sono riuscito a trovare una risposta.

Per favore fatemi sapere se avete bisogno di ulteriori informazioni dalla mia parte.

+0

L'IP non è ovviamente un'opzione: con la maggior parte dei provider ip di volta in volta cambia, gli utenti dietro un proxy possono avere lo stesso IP mentre online, ecc ... Potresti chiedere loro di accedere con il loro account Facebook ad esempio (ma possono ancora crearne un altro), o semplicemente chiedere loro un numero di carta di credito ... –

+0

Chiederei un account non gmail. O un account e-mail con una conferma. Con Web.Security in ASP.NET la creazione e l'eliminazione degli utenti richiede un token, quindi se un utente tenta di utilizzare lo stesso account già presente sul sistema, si riprenderà con un errore. Ma con un account non Gmail impedisci agli utenti di creare un sacco di e-mail bigus. – ApolloSoftware

+1

IMO, è quasi impossibile controllare se la stessa persona si trova dietro diversi ID di e-mail, numeri di cellulare, indirizzi IP ecc. A meno che non si possa implementare una sorta di processo di verifica manuale come carta d'identità nazionale, passaporto, patente di guida ecc. possibile se hai offerte di adesione relativamente limitate o mirate. –

risposta

7

trovare un modo tecnico per impedire agli utenti di registrarsi più volte. Possono semplicemente utilizzare un altro dispositivo, IP, un altro account e-mail e credenziali diverse.

Quello che puoi fare è chiedere loro di inviarti informazioni "offline" false, come un numero di carta di credito o una foto dell'ID. Alcuni utenti potrebbero ancora essere in grado di registrarsi più volte in questo modo, ma probabilmente non indefinitamente. Perderai tuttavia molti possibili clienti in questo modo che non sono disposti a fornire tali informazioni per un account di prova, quindi questa probabilmente non è la soluzione che desideri.

Il mio consiglio è uno dei seguenti due:

  • limitare le informazioni/servizio si forniscono agli utenti liberi, in modo che, anche se si registrano ancora una volta ci guadagneranno qualcosa quando pagano.
  • Cerca di legarli al loro account in un modo in cui potrebbero perdere qualcosa se lo gettano via. Ciò potrebbe ad esempio fornire premi utente per attività (reali o virtuali) o aumentare la loro esperienza in base alla loro storia. Ad esempio, prendi così: se ti sei registrato di nuovo, perdi tutta la tua reputazione. Gli utenti ci penseranno due volte se questo vale il nuovo contenuto.
1

penso che non si può mettere tutti gli utenti così perché ogni cosa può essere duplicato

Ci sono alcuni modi per i quali l'utente deve avere la modalità di pagamento o di identità dettagli come passaporto o è un'applicazione Windows si può avere scanner dito sarà sicuramente unico ..

1

È possibile farlo (con limitazioni) con l'uso dei cookie. L'impostazione di un cookie sul dispositivo dell'utente consentirà di determinare chi è il visitatore e che è già stato registrato.

Le limitazioni sono che i cookie possono essere eliminati o bloccati e sono validi solo per tale specifico utente - l'utente può utilizzare un dispositivo diverso o un browser diverso sullo stesso dispositivo. Un sacco di gente non sa davvero sui cookie e come eliminarli.

Legando questa tecnica con l'obbligo di fornire un indirizzo e-mail valido, è possibile che sia una seccatura per qualcuno registrarsi più di una volta poiché dovranno creare un nuovo account e-mail e quindi eliminare i loro cookie.

Se questo si fermerà a sufficienza, le persone dipendono dal tuo sito e dalle tue esigenze: se stai dando soldi, questa tecnica non è abbastanza buona. Se vuoi solo scoraggiare la pratica di più account, potrebbe essere sufficiente.

1

L'unica via d'uscita è avere QUALCOSA che l'utente esistente abbia ricevuto un "regalo?" o valore aggiunto per mantenere un solo account. Se puoi identificare elementi di valore per i tuoi abbonati e offrirti di "darli" a loro, a condizione che il loro account "raggiunga" uno o più status, allora avrai un certo controllo. Prendiamo ad esempio stackoverflow.com, non ho bisogno di un secondo account.

2

Dopo aver letto tutto quanto sopra, penso che una buona soluzione potrebbe essere quella di consentire all'utente di identificarsi tramite Facebook o linkedin. Poche persone avranno un secondo account.

1

L'identificazione tramite facebook o linkedin è una buona opzione, ma se si forniscono tali servizi. che sono molto vantaggiosi per gli utenti, quindi non si preoccupano di creare più account anche su Facebook o collegati. Quindi quello che penso è impostare alcune cose tipo ricompensa con ogni utente, e aumentare i servizi in quanto ottengono incremento in premi. una volta soddisfatti dei premi e in grado di utilizzare più servizi, aumenta la probabilità che non creino un altro account.