2010-01-20 13 views
15

Sé que muchos scripts manejan la prohibición de IP, la prohibición de rango de IP, etc. Estaba intentando hacer un método que bloqueara a un usuario lo mejor que pueda. Se me ocurrió:¿Cuál es un método efectivo para prohibir a los usuarios de mi sitio?

  • bloque de IP
  • creando una cookie
  • Pero si un usuario tiene una dinámica y no permite las cookies este no hará mucho para él. No quiero bloquear un rango de IP porque la mayoría de mis visitantes provienen de la misma ciudad y no quiero bloquear a personas inocentes.
  • Creando un valor hash para múltiples variables provenientes del usuario (como navegador y versión y algo más) y agregándolos a una tabla que almacena una lista de usuarios prohibidos o dichos valores.

Gracias por las ideas.

Respuesta

1

Lo que ya tienes allí es probablemente el mejor método, la prohibición de IP + bloqueador de cookies. No hay mucho más que puedas hacer excepto estos dos. (Lo sé, apesta).

+0

bien, bien, gracias por responder y me refiero a la mayoría de los usuarios que basta con tener algo de racista o pervertido en la sección de comentarios, uno quiere asegurarse de que no regrese. nunca. – Samuel

8

En plano: no se puede.

Algunos usuarios pueden bloquear la recepción de cookies, o incluso usar un proxy para falsificar su dirección IP, usted simplemente no puede asegurarse de que un usuario no pueda acceder a su aplicación.

Una opción (extrema) es forzar a todos sus usuarios legítimos a instalar un certificado de cliente y verificarlo en el servidor, pero, como dije, es una solución extrema. No me gusta instalar certificados solo para acceder a un sitio.

Le sugiero que solo lo suelte; en el futuro, tu troll se aburrirá y buscará algo más útil que hacer con su tiempo.

+1

... y él solo dejará que su bot lo haga por él;) – Franz

+0

Tienes razón sobre el certificado Soy escéptico también si algún sitio me pide que descargue un certificado, gracias por la respuesta – Samuel

3

Ambas prohibiciones por IP y cookie son, como usted dice ineficaces.

Si necesita bloquear usuarios específicos, entonces su único recurso es requerir que todos los usuarios se autentiquen usando una dirección de correo electrónico, no necesitan proporcionar una contraseña, solo genere un hash aleatorio y almacénelo contra el correo electrónico dirección en una tabla de base de datos, luego envíe una URL clicable con el hash en la consulta. Luego, cuando se accede a la URL, suelte una cookie con el hash (y una fecha de vencimiento larga en el futuro).

Luego, cuando un usuario acceda al sitio, verifique la cookie con la base de datos para ver si pertenece a una dirección de correo electrónico prohibida.

El inconveniente de esto es que transfiere la carga al usuario legítimo. P.ej. si se registraron desde una cuenta ISP doméstica utilizando el servicio de correo electrónico de los ISP, entonces no podrán acceder fácilmente al sitio desde un cibercafé.

Y, por supuesto, es relativamente fácil obtener una dirección de correo electrónico gratuita.

C.

+0

bien gracias por tu comentario i pensará en conectar la cuenta y el correo electrónico ya que es un grupo de usuarios restringido (es un sitio scout, por lo que los niños y padres lo visitan, los visitantes pueden tener privilegios restringidos) – Samuel

0

Como los demás señaló: básicamente, no hay mucho más que puede hacer. El problema básico es que esas técnicas prohíben una máquina , no un usuario, y se pueden eludir fácilmente (borrar cookies, cambiar direcciones IP o usar una computadora diferente).

Lo que podría tratar de hacer es detectar automáticamente al usuario, a través de algún comportamiento que están exhibiendo, y luego bloquear rápidamente su máquina actual. El mal comportamiento que se puede verificar automáticamente podría incluir demasiados comentarios, o comentarios de correo no deseado (puede verificarlos automáticamente usando fi Mollom), escribir muchas contraseñas incorrectas, etc.

Otra idea (pero eso es aún más intrusivo) es para bloquear su cuenta de usuario y limitar la creación de nuevas cuentas (primero deben ser confirmadas por los administradores).

+0

gracias por responder, pensé en usar la computadora de visitantes, el navegador y el rango de IP - pero aquellos con diferentes computadoras y navegadores sufrirían de ese – Samuel

0

Si se trata de un foro o algo similar, la única forma real de detener el correo indeseado/abuso es con una combinación de verificación de imagen y creación de cuenta activada por administrador. Ambos tienen desagradables efectos secundarios e impactos sobre la usabilidad de su sitio web.

IP prohibición de

Personalmente IP prohibición debe evitarse a menos que sean conocidos servidores de spam. Prohibir las direcciones IP de los usuarios normales no tiene sentido ya que la mayoría de las direcciones IP de banda ancha no son correctas, por lo que podría terminar prohibiendo a otra persona que pueda tomar esa dirección IP.

Galletas

El uso de cookies puede ser una forma útil de la prohibición de los usuarios normales 'no TI' que no son conscientes de despejar allí caché del navegador/galletas, etc. Me sorprendería si más de 10% de los usuarios de la web sabían cómo hacer esto ...

+0

que señalé en un comentario anterior que es un sitio scout y que los niños naveguen en él y, básicamente, quiero evitar que los pervertidos y rascistas entren en contacto con ellos, pensaré en la usabilidad vs seguridad, gracias por tu comentario, aunque – Samuel

+0

Supongo que estás usando un código abierto En PHP Forum, si es así, la mayoría tendrá la capacidad de agregar o usar la verificación de imágenes y establecer la opción para pre-moderar a los nuevos usuarios (para que pueda asegurarse de saber quiénes son). Confía en mí, querrás estos dos, he configurado y moderado un par de grandes foros y terminarás con cientos de bots intentando inscribirte ... – Alex

+0

Actualmente es un "foro" escrito por sí mismo debido a la integración del sitio problemas que no quería un pre escrito. Básicamente, la idea es que las personas dejen comentarios en las imágenes de ejemplo, lo que sucede es que se guardan cuando agregan un comentario que están conectados y rastreados por IP y las cookies inician sesión la próxima vez de forma automática: construyo este sistema para que sea fácil para todos Totalmente veo que esto podría terminar mal. Es por eso que primero construí algunos filtros de comentarios y prohibición de IP.Pensaré en el registro de correo electrónico/captcha pero sigo con la idea de mantenerlo simple – Samuel

3

En general, intentar prohibir el comportamiento es mejor que intentar prohibir a los usuarios.

En primer lugar, por motivos técnicos: a menudo se pueden detectar patrones de comportamiento (por ejemplo, puede prohibir las palabras).

En segundo lugar, por razones psicológicas: las personas que molestan a los demás a menudo lo hacen porque tienden a tomar las cosas demasiado personales. Prohibirlos refuerza eso. Represalias y escalada pueden resultar.

+0

Sí, entiendo lo que quieres decir, pero como mencioné anteriormente también es importante para los niños y para mantener a los niños a salvo es decir, las personas pueden intentar obtener el teléfono/direcciones de los niños y aunque un niño no lo encuentre peligroso, puede ser así, quiero que esos pueblos sean prohibidos ^^ – Samuel

+0

Una vez más, me concentraría en el comportamiento. Puede reconocer si se está escribiendo un número de teléfono e interceptarlo para enviar una advertencia o reemplazarlo con puntos o algo así. Siempre que sea posible, trate de educar a los usuarios (incluso cuando son niños) para que se comporten con sensatez, en lugar de bloquear cosas o usuarios. – reinierpost

+0

PD: ver [esta publicación del blog] (http://blog.codinghorror.com/the-just-in-time-theory/). – reinierpost

Cuestiones relacionadas