Due utenti possono condividere lo stesso Request.UserHostAddress?

2

Sto lavorando su un'applicazione web ASP.NET MVC-5, disponibile per gli utenti pubblici (non è richiesto il login). E ho bisogno di impedire che lo stesso utente invii più di 5 richieste "contattaci" entro un'ora. Quindi ho bisogno di un modo per differenziare se la richiesta che sto ricevendo proviene dallo stesso utente o meno.

Ho trovato Request.UserHostAddress , che conterrà l'IP dell'utente (se non ho sbagliato l'IP pubblico). ma la mia domanda è: questo valore sarà unico per utente in tutto il mondo? O gli utenti potrebbero condividere questo valore?
Se la risposta è che gli utenti potrebbero condividere Request.UserHostAddress , quale valore mi darà modo migliore di "autenticare" l'utente?

    
posta john Gu 25.09.2015 - 12:49
fonte

2 risposte

4

Sì, questo indirizzo può essere condiviso da più utenti. Ad esempio:

  • I provider di telefonia mobile instradano spesso il loro traffico 3G / 4G verso i loro abbonati tramite lo stesso IP pubblico.
  • Alcuni ISP hanno condiviso indirizzi IP pubblici - storicamente in particolare AOL.
  • Le aziende hanno spesso gateway singoli o multipli, il che significa che il loro traffico dei dipendenti sarà condiviso tramite la stessa interfaccia esterna.

Nel tuo caso non stai veramente autenticando i client in base al loro IP, stai tentando di valutarli limitandoli. Una soluzione potrebbe essere quella di consentire il maggior numero di richieste da un IP, tuttavia se si rileva oltre cinque all'ora provenienti dalla stessa posizione, è possibile visualizzare un CAPTCHA che deve essere completato.

Google sta tentando di semplificare il processo di completamento delle persone con il loro Recaptcha v2 progetto.

    
risposta data 25.09.2015 - 12:57
fonte
1

Se si ottiene l'IP dell'utente con il metodo corretto che cattura l'IP globale della rete dell'utente, sarà sempre univoco. Ma gli utenti possono inviare più richieste proxy alla volta. Per evitare che usi captcha insieme alla tua validazione IP. Di quanto dovrebbe funzionare perfetto!

    
risposta data 25.09.2015 - 12:58
fonte

Leggi altre domande sui tag