Pregunta

He escrito un tablero de mensajes como mi primer proyecto ASP.NET. Parece funcionar bien hasta ahora. Sin embargo, una de las características que tengo es que cada mensaje tiene una clasificación de spam. Es simplemente la cantidad de veces que los espectadores han marcado el mensaje como spam dividido por la cantidad total de veces que el mensaje ha sido visto. La idea es permitir a los usuarios ignorar los mensajes con altas calificaciones de spam si así lo desean.

Sin embargo, todo el sistema puede ser frustrado por un spammer simplemente viendo su propio mensaje y actualizándolo varias veces, lo que aumentará la cantidad de veces que el mensaje ha sido visto. También puede ser frustrado por alguien que marca el mensaje como spam varias veces seguidas. Necesito una forma de determinar si un visitante en particular ya ha visto un mensaje en particular, y una forma de determinar si un usuario en particular ya ha marcado un mensaje en particular como spam.

No quiero solicitar el registro: quiero que cualquiera pueda ver o publicar mensajes. Dos ideas que he estado considerando son configurar una cookie cuando el visitante ingresa al sitio para que pueda rastrearla, o crear una nueva tabla de datos que registre las direcciones IP de los usuarios cuando ven un mensaje o lo marcan como spam. ¿Alguien más puede pensar en una mejor manera? ¿Tiene .NET alguna función integrada que pueda ayudarme a determinar si el visitante está viendo una página por primera vez?

¿Fue útil?

Solución

La medida más confiable es el filtrado de direcciones IP, ya que el spammer podría eludir cualquier otro método escribiendo su propio programa para solicitar la página. Afectará a sus clientes detrás de NAT, pero para fines de filtrado de spam, funciona bastante bien.

Otros consejos

ASP.Net tiene una característica incorporada llamada Personalización que se puede usar para detectar y recordar usuarios anónimos junto con normales "registrados". usuarios.

Para usuarios anónimos, use la IP. Esto dará falsos positivos, especialmente para algunos proveedores de Internet, pero parece una compensación decente para su escenario. También facilitaría que los usuarios se identifiquen, la identificación abierta es una excelente manera de hacerlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top