2010-10-13 29 views
11

Sto creando una funzione Mi piace/Non mi piace. Per questo scopo ho bisogno di identificare il particolare utente che gradisce o non gradisce il post. Ho un'idea che senza account di accesso utente questo non può essere fatto perfettamente, ma che cosa è più vicino a tecnica perfetta, Questioni che ho sono indicati di seguito:Il modo migliore per identificare un utente in modo univoco

  • I cookie possono essere cancellati, e variano Browser Form al browser
  • Most degli utenti non avete un IP pubblico dedicato, e il loro IP continua a cambiare per ogni sessione
  • una combinazione di cookie e IP non potrebbe anche servire allo scopo

Quindi, quale tecnica devo usare per la sua attuazione?

Il linguaggio che sto usando per questo è PHP

risposta

9

Recentemente ho letto un articolo su questa domanda e sono rimasto sorpreso da quanti metodi esistono per tale compito. IP e cookie sono solo "la punta dell'iceberg". Vedere evercookie, libreria js che produce "cookie estremamente persistenti".

+0

sembra interessante, esploralo adesso –

+0

Inoltre, se vuoi approfondire la teoria, controlla http://panopticlick.eff.org/ e i link su quel sito. – galymzhan

+0

appena testato evercookie, funziona bene almeno sul sito demo. Sto per provarlo su una pagina di prova –

3

Penso che il miglior essere ancora un cookie, non perfetto, ma se non si desidera utilizzare il meccanismo di login, Cookie è il migliore.

+4

Sì. Gli imbroglioni imbrogliano, indipendentemente dagli ostacoli che si mettono sul loro cammino e il restante 99% dei tuoi utenti non si preoccuperà. A meno che tu non stia implementando un'elezione elettronica, è abbastanza buono. – Piskvor

+0

@PISKVOR - ACCETTO CON TE –

+0

devo utilizzare una specie di combinazione di userIP, cookie e UserAgent. Anche se cambiando il browser, anche lo stesso utente voterà due volte –

0

Non è possibile ottenere un'identità univoca perfetta di un utente. Immagina semplicemente un utente che ha due computer separati con browser separati e connessioni Internet separate. Non sarai in grado di identificare le sue due connessioni come appartenenti allo stesso utente.

Una volta accettato questo, puoi andare come vuoi tu. I cookie sono generalmente carini, in quanto, sebbene possano essere cancellati, molti utenti non li cancellano realmente. Se sei preoccupato per gli utenti abusivi, gli IP ti servono meglio.

Inoltre, è possibile includere l'user-agent dei browser ecc. Più diversi indizi di identificazione sono inclusi, più difficile diventa lo spoofing del sistema. Tuttavia, dovresti tenere a mente che puoi spendere una quantità significativa di sforzo per farlo, ma comunque non otterrai mai una soluzione perfetta.

+1

digiti più veloce di me ;-) –

+0

Sto pensando di usare anche l'IP, ma tutto si riferisce al problema che gli IP cambiano di solito per ogni sessione, a proposito del browser e dei cookie. Questo mi fa anche pensare che se il cookie è presente, il browser ovviamente sarà lo stesso –

2

Un accesso sarebbe il migliore, ma se non è possibile seguire tale percorso è possibile utilizzare una combinazione di cookie, IP e altri elementi. Con una combinazione sufficientemente ampia di parametri è possibile identificare gli utenti con una precisione piuttosto buona (anche se non al 100%).

This è molto interessante e potrebbe indicarti la giusta direzione.

+0

Sono d'accordo, un sistema di login manterrà gli utenti unici, almeno sulla base del nome utente. Quindi, se vogliono votare due volte, possono registrarsi più di una volta, ma di solito ci si può aspettare che le persone si annoieranno con il processo di registrazione due volte. –

+0

@etbal, non ho il login sul sito –

0

Prendiamo in considerazione tutte le opzioni per l'identificazione:

Impossibile utilizzare IP: Tu non hai il controllo su tutti i NATs e IP dinamici tra il server e il browser.
Può utilizzare i cookie: Hai quasi il pieno controllo su di essi. (Migliore opzione qui)
Può utilizzare una sorta di identificazione "utente": Ma non si vuole usarli qui. Invece puoi usare qualche variante di esso. Usa la sua e-mail id. Non riesco a pensare a nessun'altra identificazione utente senza input dell'utente.

+0

il cookie sembra essere una soluzione che potrebbe funzionare, non posso chiedere a un utente per l'indirizzo e-mail solo per il gradimento o meno qualcosa. –

2

Dato abbastanza informazioni dovresti essere in grado di identificare in modo univoco la maggior parte dei browser. Questo non impedisce alle persone di cambiare browser. Il link sottostante spiega di più.

https://panopticlick.eff.org/

La cosa migliore da fare è di integrare Facebook Like.

+0

Sarà utile se puoi narrare nel post precedente come come distinguere un utente anche se l'utente accede in incognito (o cancella cache/cookie ecc.) – DDM

Problemi correlati