tag name php spam-prevention voting

php - get tag name wordpress



Cazando tramposos en una competencia de votación (19)

Eliminación de retroalimentación directa

Esta es más una estrategia general que se puede combinar con muchos de los otros métodos. No deje que el spammer sepa si tiene éxito.

Puede ocultar los resultados actuales por completo, solo mostrar porcentajes sin número absoluto de votos o retrasar la visualización de los votos.

  • Pro: bueno contra todos los métodos
  • Con: si el fraude es masivo, la visualización porcentual y el retraso no serán efectivos

Voto marcado

También una estrategia general. Si tiene alguna razón para suponer que el voto es de un spammer, cuente su voto y márquelo como no válido y elimine los votos no válidos al final.

  • Pro: bueno contra todos los ataques detectables de spam
  • Con: sesga el voto, más difícil de configurar, falsos positivos

Captcha

Use un CAPTCHA . Si tu Captcha está roto, utiliza uno mejor.

  • Pro: bien contra todos los scripts automáticos.
  • Con: inútil contra la pharygulation

Control de IP

Limite el número de votos que una dirección IP puede emitir en un intervalo de tiempo.

  • Pro: Bueno contra tipos aleatorios que constantemente presionan F5 en su navegador
  • Pro: fácil de implementar
  • Con: inútil contra la faringulación y scripts elaborados que utilizan servidores proxy.
  • Con: una dirección IP a veces se asigna a muchos usuarios diferentes

Revisión de referencia

Si supone que un usuario asigna una dirección IP, puede limitar el número de votos a esa dirección IP. Sin embargo, esta suposición generalmente solo es válida para los hogares privados.

  • Pro: fácil de implementar
  • Pro: bueno contra la simple faringulación hasta cierto punto
  • Con: Muy fácil de sortear con scripts automatizados

confirmación de correo electrónico

Utilice la confirmación por correo electrónico y solo permita un voto por correo electrónico. Verifique su base de datos manualmente para ver si están usando correos electrónicos desechables.

Tenga en cuenta que puede agregar +foo a su nombre de usuario en una dirección de correo electrónico. [email protected] y [email protected] entregarán el correo a la misma cuenta, así que recuerde esto al verificar si alguien ya votó.

  • Pro: bueno contra simples scripts de spam
  • Con: más difícil de implementar
  • Con: A algunos usuarios no les gustará

Aleatorización de formulario HTML

Aleatorice el orden de las elecciones. Esto puede tomar un tiempo para que lo descubran.

  • Pro: bueno tener de todos modos
  • Con: una vez detectado, muy fácil de sortear

HTTPS

Un método de falsificación de votos es capturar la solicitud http de un navegador válido como Firefox e imitarlo con una secuencia de comandos, esto no funciona tan fácil cuando se utiliza el cifrado.

  • Pro: bueno tener de todos modos
  • Pro: bueno contra scripts muy simples
  • Con: más difícil de configurar

Comprobación de proxy

Si el spammer vota por proxy, puede verificar el encabezado X-Forwarded-For .

  • Pro: bueno contra scripts más avanzados que usan proxies
  • Con: algunos usuarios legítimos pueden verse afectados

Control de caché

Intenta ver si el cliente carga todos los recursos que no están en la memoria caché. Muchos spambots no hacen esto. Nunca lo intenté, solo sé que esto no se verifica generalmente en los sitios de votación.

Un ejemplo sería incrustando <img src="a.gif" /> en su html, siendo a.gif una imagen de 1x1 píxeles. Luego debe configurar el encabezado http para la solicitud GET /a.gif con Cache-Control "no-cache, must-revalidate" . Puede establecer los encabezados http en Apache con su archivo .htaccess this . (gracias Jacco)

  • Pro: método poco común hasta donde yo sé
  • Con: un poco más difícil de configurar

[Editar 2010-09-22]

Evercookie

  • Una llamada evercookie puede ser útil para rastrear spammers basados ​​en navegador

Actualmente estamos llevando a cabo una competencia que avanza muy bien. Desafortunadamente tenemos todos esos tramposos en el negocio que están ejecutando guiones que votan automáticamente por sus entradas. Ya vimos algunos tramposos al mirar las entradas de la base de datos a mano - 5 calificaciones por estrellas con el mismo navegador exactamente todos los 70 minutos, por ejemplo. Ahora que la base de usuarios crece, cada vez es más difícil identificarlos.

Qué hacemos hasta ahora

  1. Almacenamos el IP y el navegador y bloqueamos esa combinación en un marco de tiempo de una hora. Las cookies no ayudarán contra estos tipos.
  2. También estamos usando un Captcha, que se ha roto

¿Alguien sabe cómo podemos encontrar patrones en nuestra base de datos con un script PHP o cómo podemos bloquearlos de manera más eficiente?

Cualquier ayuda será muy apreciada...


¿Has intentado hacer huellas dactilares del navegador? Compruebe esta fuente abierta desde EFF: https://panopticlick.eff.org/ Podría usarse para identificar a una persona similar a 500-1500 en el mundo (!).


¿Qué pasa con algunos análisis estocásticos post hoc , como el análisis de series de tiempo , buscando la periodicidad en eventos de particular (ip, browser, vote) ? A continuación, puede asignar probabilidad a cada uno de esos grupos de eventos que pertenece a 1 persona y descartar todos esos grupos de eventos más allá de algún nivel de probabilidad, o usar algún tipo de ponderación para disminuir el peso de acuerdo con la probabilidad.

Mira en R, contiene MUCHOS paquetes de análisis útiles.


¿Qué tal si solo permiten a los usuarios que iniciaron sesión con openid y con reCaptcha antes de enviar el voto y monitering la lista de remitentes con la misma dirección IP ?



El patrón Vote to Promote (puedes estar al tanto) tiene una sección sobre cómo mitigar los juegos, pero es difícil evitarlo por completo. Teniendo en cuenta sus acciones hasta la fecha, consideraría usar ponderación, por ejemplo, considerar un nivel razonable de votación durante un período de tiempo, por ejemplo 10 votos por hora (solo un ejemplo, no una guía) y para votos de superávit, los próximos 10 al 90% (es decir, solo cuenta 9), los 10 siguientes al 80% y así sucesivamente. Este es el consejo de Yahoo sobre los juegos dentro de este patrón:

Los sistemas de votación comunitaria presentan una serie de desafíos. Particularmente, la posibilidad de que los miembros de la comunidad intenten jugar con el sistema, por cualquier cantidad de motivaciones:

  • malicia - quizás contra otro miembro de la comunidad y las contribuciones de ese miembro.

  • ganancia: para obtener alguna recompensa, monetaria o de otro tipo, que influya en la colocación de ciertos artículos en el grupo)

  • o una agenda general, siempre promoviendo ciertos puntos de vista o declaraciones políticas, con poca consideración por la calidad real del contenido que se vota.

Hay varias maneras de intentar salvaguardar contra este tipo de abuso. Aunque nada puede detener los juegos por completo. Estas son algunas formas de minimizar u obstaculizar a los abusadores en sus esfuerzos:

  • Vote por cosas, no personas. De acuerdo con la estrategia general de Yahoo, no ofrezca a los usuarios la posibilidad de votar directamente a otro usuario: su aspecto, su simpatía, inteligencia o cualquier otra cosa. Está bien que la comunidad vote sobre las contribuciones de una persona, pero no sobre la calidad de su carácter.

    • Considere la limitación de la velocidad de los votos. o Solo permita al usuario una cierta cantidad de votos dentro de un período de tiempo dado. o Limite la cantidad de veces (o la velocidad a la que) un usuario califica el contenido de un usuario en particular. (Para prevenir ataques ad-hominem)

    • Considere otros factores además del número de votos. Digg, por ejemplo, no calcula su Digg-score únicamente en la cantidad de votos que recibe un envío. Su algoritmo también considera: "fuente de historia (es un repost de blog, o la historia original), historial de usuario, niveles de tráfico de la categoría bajo la que se basa la historia e informes de usuario". Actualizan este algoritmo con frecuencia. Considere mantener el algoritmo exacto en secreto de la comunidad, o solo discuta las entradas factorizadas en términos generales.

  • Si la información de la relación está disponible, considere ponderar los votos de los usuarios en consecuencia. Tal vez prohíba a los usuarios con relaciones formales votar por los envíos de los demás.

Si bien este es actualmente un patrón popular en la Web, es importante considerar los contextos en los que lo usamos. Las comunidades muy activas y populares (Digg es un excelente ejemplo) que permiten votar en la comunidad también pueden generar una cierta negatividad del espíritu (comentarios medios, camarillas obstinadas, ataques grupales en puntos de vista "atípicos").


Entonces, si todos quieren hacer una competencia donde las personas puedan ganar algo y quieran usar un sistema de clasificación impulsado por la comunidad ... aquí comparto algunas experiencias:

El malo:
1) Primero no puede hacerse seguro para el 100%
2) para llegar a una masa de usuarios que filtra todas las valoraciones sin sentido es muy difícil 3) Olvídese de las clasificaciones de estrellas en ese caso ... siempre son 5 estrellas o 1 estrella

El bueno
1) No les dé orientación sobre dónde se encuentran ... Reemplazamos la vista "Ordenar por lugar" con una presentación aleatoria de los TOP 100 (solo los 30 mejores ganarán un precio) ... Esto realmente ayudó porque una gran cantidad de los usuarios perdieron su interés tan pronto como no vieron dónde estaban.

2) No permita votaciones como: 1x5_Stars 40x1_Star ... Solo permita que los usuarios voten de manera justa ...

3) La mayoría de ellos actúan un poco estúpidos ... Los verás en tus registros y podrás rastrear quién vota justo y quién injusto ... Busca patrones ...

**BUENA SUERTE ;-) **


Lo único que viene a la mente es usar un Captcha . O bien uno elaborado con imágenes y ruido como el servicio reCAPTCHA , o uno muy simple y discreto como "¿Qué es siete más tres?" o (si se encuentra en los EE. UU.), "¿Cuál es el apellido de nuestro presidente?", preguntas sencillas de sentido común que todos pueden responder. Si los modifica con la frecuencia suficiente, esto podría ser incluso más efectivo que un CAPTCHA clásico basado en imágenes.


Los CAPTCHA no son una bala de oro, el usuario podría tener su script para mostrarles el CAPTCHA y resolverlos manualmente por al menos varios votos por minuto.

Debe usarlos en combinación con otras técnicas mencionadas aquí.


Para evitar que los bots voten, puede usar CAPTCHA .


Perdón por la publicación doble, pero no se me permitió publicar dos URL en la misma publicación ...

Si está buscando construir su propio seguimiento, tal vez este enlace pueda proporcionar algo de inspiración: https://panopticlick.eff.org/ Resulta que muchos navegadores pueden identificarse de manera única, incluso sin ninguna forma de cookies de rastreo. Supongo que un robot de votación podría dar una huella dactilar muy específica.


Puede agregar captcha al formulario de votación. También será necesaria la confirmación por correo electrónico.


Puede agregar un campo honeypot como en Django. Lo más probable es que esto no lo proteja de los tramposos que deliberadamente quieren cambiar su competencia, pero al menos tendrá menores spammers ''drive-by'' para cuidarlos adicionalmente.


Si realmente te preocupa, entonces tienes que hacer algo como la verificación del correo electrónico, que podría ser suficiente para bloquear a la mayoría de los tramposos.

También depende de si es probable que varias personas detrás de un NAT quieran votar por la misma opción (por ejemplo, escuela favorita).

Cualquier esquema que crees puede ser jugado.

EDITAR: Como todos los demás han sugerido, puede usar un CAPTCHA como reCAPTCHA para bloquear bots automatizados y hacer que los humanos tengan menos probabilidades de repetir el voto. A costa de hacer menos probable que los humanos voten.


Usamos una combinación de CAPTCHA y correo electrónico. El usuario recibe un enlace con un GUID por correo. Este debe ser único para cada usuario que intente votar. www.votesite.com/vote.aspx?guid = ..... Al usar este enlace, el voto se confirma o no. En la base de datos, verificamos que la combinación de dirección de correo electrónico y GUID sea única.


Utilizo una combinación de CAPTCHA, verificación de IP y LSO (objetos locales compartidos de Flash, difíciles de encontrar y eliminar para personas comunes).


Verifique los detalles de dominio del correo electrónico que están usando. Tuve el mismo problema y descubrí que todos ellos estaban registrados en el mismo registrante. Lo escribí aquí: http://tincan.co.uk/659/news/competition-spammers.html

Ahora, filtro la información de DNS para el correo electrónico utilizado en el registro.


Captcha siempre es bueno, aunque podría ser "molesto" para algunos usuarios.

reCAPTCHA es un servicio bastante usado


reCAPTCHA
2. Sí aleatorizaron sus opciones de votación pero no así:
-> de vote_id_1 a asdsasd_1, grdsgsdg_2,
En su lugar, use variables de sesión para establecer una máscara de vote_id_1 a asgjdas87th2ad en el formulario de votación.