Domanda

Ho scritto una bacheca come il mio primo progetto ASP.NET. Sembra funzionare bene finora. Tuttavia, una delle caratteristiche che ho è che ogni messaggio ha un punteggio di spam. È semplicemente il numero di volte in cui gli utenti hanno contrassegnato il messaggio come spam diviso per il numero totale di volte che il messaggio è stato visualizzato. L'idea è di consentire agli utenti di ignorare i messaggi con un alto livello di spamming se lo desiderano.

Tuttavia, l'intero sistema può essere sventato da uno spammer semplicemente visualizzando il proprio messaggio e aggiornandolo un sacco di volte, il che aumenterà il numero di volte che il messaggio è stato visualizzato. Può anche essere sventato da qualcuno che contrassegna il messaggio come spam più volte di seguito. Ho bisogno di un modo per determinare se un determinato visitatore ha già visualizzato un determinato messaggio e un modo per determinare se un determinato utente ha già contrassegnato un determinato messaggio come spam.

Non voglio richiedere la registrazione - Voglio che chiunque sia in grado di visualizzare o pubblicare messaggi. Due idee che ho preso in considerazione sono l'impostazione di un cookie quando il visitatore accede al sito in modo da poterlo rintracciare o la creazione di una nuova tabella di dati che registra gli indirizzi IP degli utenti quando visualizzano un messaggio o lo contrassegnano come spam. Qualcun altro può pensare a un modo migliore? .NET ha delle funzionalità integrate che potrebbero aiutarmi a determinare se il visitatore sta visualizzando una pagina per la prima volta?

È stato utile?

Soluzione

La misura più affidabile è il filtro degli indirizzi IP in quanto lo spammer potrebbe eludere qualsiasi altro metodo scrivendo il proprio programma per richiedere la pagina. Interesserà i tuoi clienti dietro NAT, ma per scopi di filtro antispam, funziona abbastanza bene.

Altri suggerimenti

ASP.Net ha una funzione integrata chiamata Personalization che può essere usata per rilevare e ricordare utenti anonimi insieme al normale "registrato". utenti.

Per utenti anonimi utilizzare l'IP. Ciò darà falsi positivi, specialmente per alcuni provider di servizi Internet, ma sembra un discreto compromesso per il tuo scenario. Vorrei anche semplificare l'identificazione degli utenti, l'id aperto è un ottimo modo per farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top