Estoy trabajando en una aplicación web ASP.NET MVC-5, que está disponible para usuarios públicos (no se requiere inicio de sesión). Y debo evitar que el mismo usuario envíe más de 5 solicitudes de "contacto con nosotros" dentro de una hora. Así que necesito una forma de diferenciar si la Solicitud que estoy recibiendo viene del mismo usuario o no.
Encontré Request.UserHostAddress
, que contendrá la IP del usuario (si no me equivoco, la IP pública). pero mi pregunta es si este valor será único por usuario en todo el mundo? ¿O podrían los usuarios compartir este valor?
Si la respuesta es que los usuarios pueden compartir el Request.UserHostAddress
, ¿qué valor me dará una mejor manera de "autenticar" al usuario?