Исходя из моего комментария, ваш подход будет работать, но опытный пользователь может перехитрить ваше ограничение использования, очистив куки и продолжая играть весь день.
Хотя подход с куки прост, у него есть дырав нем.
То, что вы можете рассмотреть, - это захват входящего IP-адреса пользователя и его сохранение в базе данных, локальном кэше (в зависимости от архитектуры вашего приложения) или в каком-либо другом хранилище.
Вы можете захватить входящий IP-адрес, используя переменную запроса сервера REMOTE_ADDR
.
Request.ServerVariables["REMOTE_ADDR"]
Опять же, в зависимости от того, как размещено ваше приложение, ваш провайдер может сообщить об этом неправильно (например, если вашСервер находится за балансировщиком нагрузки, который может быть IP-адресом балансировщика нагрузки).Вы также можете проверить, передает ли ваш провайдер эту информацию, используя заголовок «X_FORWARDED_FOR».(Некоторые устройства используют разные варианты имени этого заголовка ... проверьте вашу документацию.)
Так что это будет немного сложнее, но также сможет закрыть эту дыру немного больше, чтобы ограничить использованиетолько 3 раза в день.
Надеюсь, это поможет.Удачи!