Buona Giornata, mi interessava fare un sistema di riconoscimento utente, che permettesse di capire se un utente è sempre lo stesso o no, e permettesse di bannarlo (se necessario) in maniera univoca
per farlo in maniera efficace non credo che basti il controllo dell' indirizzo IP, anche perché, per fortuna o sfortuna a seconda di come la rigiri, esistono gli ip (pubblici) dinamici.
Se hai un meccanismo di autenticazione puoi aggiungere l'informazione sullo stato dell'utente, regolare o sospeso, e controllarlo prima di servire i contenuti del sito. Se il suo stato è sospeso non gli erogherai i contenuti, ma un messaggio d'errore.
Se non hai un meccanismo di autenticazione è impossibile.
In questo caso puoi cercare di avvicinarti all'obiettivo con espedienti come il controllo dell'IP o l'impostazione di un cookie, chiaramente tutti in qualche modo aggirabili.
Questo è un problema diverso, relativo all'autenticazione. In pratica vuoi che una persona possa registrarsi una sola volta.
La maggior parte dei servizi che hanno questo requisito lo realizzano chiedendo informazioni univoche durante la registrazione e poi verificandole, per esempio un numero di telefono sul quale viene poi inviato un SMS con codice di conferma da usare per perfezionare la registrazione. In alternativa vengono usati indirizzi email o numeri di carta di credito da verificare. La maggior parte di questi sistemi è aggirabile con diverse difficoltà. Dal più semplice al più difficile: email, n. telefono, n. carta di credito, riconoscimento di persona.
Gli ultimi sono sistemi usati dai servizi più sicuri, come lo SPID per le pubbliche amministrazioni. Valuta tu fino a che punto ha realmente senso spingersi in ambito sicurezza. Di solito la registrazione attraverso captcha e verifica via email sono sufficienti: per creare account multipli servono almeno 5-10 minuti ciascuno, mentre per disabilitarli ci metti 10 secondi da un pannello di controllo appositamente creato.
Se vuoi alternative più raffinate puoi anche servirti di un'euristica che sospende temporaneamente la procedura di registrazione per account sospetti, rinviandola a una verifica manuale da parte tua. Basterebbe un banale controllo sull'ultimo IP usato o user agent utilizzato.