2010-04-26 20 views
5

Estoy codificando un formulario de inscripción de sorteo en php donde el usuario envía cierta información en un formulario y se almacena en una base de datos.Formulario de entrada - Restringir a un envío por IP/computadora

Me gustaría encontrar una manera de restringir este formulario a una presentación por persona. Ya sea soltando una cookie o por una dirección IP. ¿Cuál sería la mejor manera de abordar esto?

Lo estoy creando en código de encendido, si eso hace alguna diferencia.

Respuesta

2

Respuesta simple, ingrese la dirección IP en la misma fila con el almacén de información. Si hace una cookie, un bot o usuario puede eliminar fácilmente la cookie que destruye su esquema de protección. Así que simplemente ingrese la dirección IP y luego consulte cada entrada para conocer su singularidad antes de aceptar el envío.

0

¿Por qué no dejar caer ambos. Lanza una cookie en la máquina del usuario. Luego, en una base de datos, mantenga un campo con una dirección IP. De esta forma, si tienen direcciones IP diferentes (debido a ciertas configuraciones de la compañía de Internet), la cookie puede atraparla. El campo de la base de datos servirá para ser más seguro y una copia de seguridad si las personas no permiten las cookies. Sin embargo, estas soluciones no serán 100% infalibles, ya que si una persona cambia las direcciones IP y no permite las cookies, podría tener problemas. Verificaría si las cookies están habilitadas para evitar esto. Intenta establecer una cookie y leerla. Si puedes, estás listo para ir. De lo contrario, pídales que permitan las cookies.

mejor de la suerte

+1

no es que una cookie sea mala, pero cualquier estafador de sorteo novato comprobará y borrará inmediatamente las cookies entre spams, es prácticamente el truco más antiguo del libro. –

1

Ambos tienen sus propias desventajas tbh. Las cookies son fáciles de falsificar y fáciles de eliminar, lo que permitirá múltiples votos. Restringir por IP es mejor, pero las direcciones IP se pueden compartir dentro de las redes y también se pueden usar para evitar la detección. La mejor apuesta es confiar en algo así como la dirección de correo electrónico y obligar al usuario a hacer clic en un enlace enviado por correo electrónico para confirmar un voto, aunque esto no es genial.

0

Para agregar a los demás, puede necesitar un inicio de sesión/registro para votar.

0

Según lo manifestado por otros, las cookies son fáciles de falsificar o eliminar. La IP del cliente que se ve para un solo usuario puede cambiar incluso en la mitad de la sesión, y puede haber miles de usuarios compartiendo la misma dirección de cliente.

Las direcciones de correo electrónico son más difíciles de falsificar, y puede agregar una etapa de verificación (la información que necesita capturar de todos modos) pero hacer un seguimiento del agente de usuario y la dirección del cliente. entonces puedes hacer una determinación inteligente sobre el ganador en lugar de intentar verificar cada envío.

C.

1

Hay varios métodos que puede utilizar para mitigar contra las trampas casual. En mi opinión, no debe esperar poder detener a un tramposo determinado sin un proceso de validación más formal (cc authorization..etc).

El método más sencillo es pedir una dirección de residencia para enviar mercancías cuando ganan :)

En primer lugar niegan el tramposo cualquier canal de retroalimentación para ser capaz de saber si su presentación fue aceptada o rechazada. Si hay un ligero retraso para las entradas aceptadas, asegúrese de agregar un retraso falso con algo de inestabilidad para que no puedan determinar si su plan para frustrar su método anti-trampa funcionó o incluso si usted tiene algún método antipiratería. La detección de envíos masivos por parte de un tramposo es mucho más fácil cuando no sienten que necesitan ser creativos.

Dirección IP como usted mencionó. Tal vez use geoip, whois..etc para obtener distribuciones a lo largo del tiempo área WRT.

Fingerprinting del agente y del agente del usuario: hay una gran cantidad de información que puede obtenerse del navegador y que puede ser única o no. Tipo de navegador, versión, sistema operativo, resolución de pantalla, profundidad de color, fuentes instaladas, complementos (flash, pdf, java ... etc.) y números de versión asociados, idioma, navegadores, hora local (registro cliente reloj sesgo)

Uso de cookies, quizás oculte referencias a un dominio de sonido inocente en un javascript incluido que usted también controla. Esto se puede usar para correlacionar la eliminación manual de cookies obvias con las cookies ocultas. Es menos conocido que las cookies también se pueden almacenar en bases de datos separadas de otros complementos que el usuario pueda tener, como flash player. Estos NO se eliminan cuando se eliminan las cookies del navegador.

Uso de imágenes con encabezados de caché. La primera vez que un usuario visita el sitio muestra una imagen después de enviar su entrada. Si ya completaron el formulario y vuelven a enviarlo, la imagen se almacenará en caché y puede utilizar la ausencia de la solicitud de imagen para asumir que las entradas enviadas son el resultado de hacer trampa.

Cuestiones relacionadas