Come prevenire la stessa user rating di un contenuto web come video più di una volta?

7

Abbiamo un tipo di sito web su YouTube in cui calcoliamo la valutazione per ogni video. In base alla valutazione assegniamo contanti. Il nostro problema è che nessuno stesso utente può valutare un video più di una volta. Abbiamo pensato che se tenessimo traccia dell'IP statico, saremo in grado di raggiungere questo obiettivo, ma abbiamo scoperto che esistono strumenti di terze parti che possono essere utilizzati per manipolare l'IP e interromperlo.

Nota: abbiamo pensato che solo i clienti che hanno eseguito l'accesso possono valutare il video, ma il cliente chiede che anche gli ospiti siano in grado di valutare il video.

Abbiamo qualche altro metodo per tenere traccia di ciò in modo che un utente non possa votare più di una volta?

    
posta Gopi 19.07.2011 - 06:48
fonte

4 risposte

12

Semplicemente: No.

Come hai già scoperto, l'IP può essere falsificato. E in molti casi l'IP non è nemmeno statico per cominciare. Molti provider di servizi ti danno un nuovo IP fuori da un pool ogni volta che accedi.

C'è l'indirizzo MAC, che è unico per la scheda di interfaccia di rete. È più difficile fingere, ma non impossibile. Quindi non molto aiuto.

Impostazione di un cookie. Le persone lo scopriranno e semplicemente li cancelleranno. Nessun aiuto.

E nel momento in cui premi i soldi, è quasi sicuro al 100% che qualcuno proverà a imbrogliare. Anche un accesso non è di grande aiuto, purché non sia possibile impedire alle persone di creare più account (e scrivere bot per utilizzare tali account per valutare i video)

Tieni presente che, nel peggiore dei casi, in cui sono coinvolti abbastanza soldi per dedicare un paio di giorni al lavoro, qualsiasi programmatore può prendere alcune librerie open source e scrivere un browser come un'applicazione che può inviarti per lo più qualsiasi tipo di dati che gli piacciono e che sono falsi come IE, Firefox, Safari o Chrome su qualsiasi sistema operativo a cui piace che il tuo server creda che provenga.

L'unica cosa che potrei pensare potrebbe essere il controllo della validità della carta di credito, come fanno alcuni siti per assicurarsi che gli utenti siano maggiorenni. Questo ti darebbe un ID univoco di qualche tipo che è più difficile da aggirare. Anche se sarebbe un bel po 'di sforzo e non so esattamente quanto siano alti i costi aggiuntivi per i fornitori di servizi di pagamento che offrono questo tipo di servizio. E naturalmente impedirebbe alla maggior parte delle persone di votare, dal momento che a molte persone non piace l'idea di fornire i dati della propria carta di credito, soprattutto se il tuo sito non è molto conosciuto.

    
risposta data 19.07.2011 - 06:57
fonte
7

Una strategia ragionevole è probabilmente quella di memorizzare una "impronta digitale" dei dati che hai sull'utente e consentire a chiunque di valutare i video, ma:

  • Pesare i voti degli utenti anonimi in misura minore rispetto ai voti dei membri quando si aggrega il punteggio medio.
  • Escludere i voti che sembrano "gamed", come un gran numero di voti anonimi provenienti dalla stessa sottorete, i voti anonimi che sono andati direttamente alla pagina di voto, ecc.
  • Non aggiornare le statistiche in tempo reale per consentire agli utenti di vedere l'impatto dei loro voti.

La "impronta digitale" può includere un cookie, l'indirizzo IP, la stringa utente-agente del browser, il tempo di voto, il numero di visualizzazioni di pagina sul sito con lo stesso cookie prima del voto (e dopo, se sei più ambizioso) . Gli utenti che vengono solo per votare e non sono realmente coinvolti nel resto del sito possono avere una maggiore probabilità di essere lì per giocare il voto. Un cookie anonimo potrebbe essere cancellato da un utente che tenta di giocare al sito, ma l'indirizzo IP e l'agente utente e un intervallo di tempo potrebbero essere sufficienti per dare un'idea di quanto sia "reale" l'utente. Quando un utente anonimo accede, puoi convertire il voto anonimo in un voto "reale". Tutti questi meccanismi possono essere sventati, ma se si pesano i voti dei membri relativamente non coinvolti della propria comunità, ciò non guasta così tanto.

Tutti i tuoi sforzi dovranno essere probabilistici; non esiste un modo affidabile per eliminare perfettamente i giochi. Non otterrai risultati perfettamente accurati, ma ciò va bene finché il cliente comprende i rischi del gioco e le potenziali inesattezze. Fortunatamente, il sondaggio online non è quasi mai scientifico e la maggior parte dei clienti lo capirà intuitivamente una volta spiegato. In alcuni casi, il gioco è comunque utile, perché genererà traffico e interesse; alcuni clienti potrebbero avere pochissime preoccupazioni sulla qualità del sondaggio.

Quello che stai cercando qui è la mitigazione, non la perfezione. Ogni sondaggio online presenta il problema che stai descrivendo, soprattutto se consentono voti anonimi.

Esiste una sorta di sondaggio equivalente a "hellban", ovvero che puoi sembrare accettare il voto dal punto di vista dell'utente, ma buttarlo via silenziosamente.

    
risposta data 19.07.2011 - 07:15
fonte
2

Il metodo migliore consiste nel fare in modo che gli utenti abbiano account per poter votare. Le altre opzioni sono il monitoraggio di IP, cookie, indirizzo mac e aggiunta di captcha. Tutti questi metodi possono essere simulati, ma più si implementano e più precisi saranno i risultati delle votazioni. Non eliminerai mai la doppia votazione, ma puoi renderla davvero costosa.

Personalmente utilizzerei filtri basati su IP, cookie normali e flash. Sarebbe relativamente economico e facile da implementare. L'opzione successiva è quella di iniziare a filtrare i voti in base a modelli dell'utente come ad esempio le altre pagine visitate, i voti espressi, i programmi utente e qualsiasi altra cosa è possibile scoprire o tracciare dall'utente. Questo può diventare davvero complesso e costoso in fretta.

Informerei anche il cliente delle limitazioni dei filtri senza creare account utente.

    
risposta data 19.07.2011 - 07:15
fonte
0

Puoi provare ad accedere alla Cronologia del Browser e memorizzare un codice hash da questo. Difficile da falsificare e la probabilità che il suo unico è molto alto. Mettilo in coppia con i captcha che devi compilare prima di votare e diventa difficile bot questo ...

ah e usa autocaptcha, non una soluzione captcha homebrewn, che è impossibile leggere.

    
risposta data 19.07.2011 - 10:37
fonte

Leggi altre domande sui tag