Сессии, предложенные другими пользователями, являются базовым способом ведения дел, но не слишком надежны .Они также могут хорошо работать в некоторых обстоятельствах, но не в других.
Например, если пользователи загружают большие файлы, смотрят видео или слушают подкасты, они могут оставаться на одной странице в течение нескольких часов (если только запросы к двоичным данным не отслеживаются также ASP.NET), но все еще используют ваш веб-сайт.
Таким образом, я предлагаю использовать журналы сервера, чтобы определить, находится ли веб-сайт в данный момент.используется многими людьми.Это дает вам возможность:
- См. , какие запросы выполняются .Довольно просто обнаружить людей и сканеров , и с некоторым опытом можно также увидеть, делает ли человек что-то критическое (например, написаниекомментировать веб-сайт, редактировать документ или вводить номер своей кредитной карты и заказывать что-либо) или нет (например, просмотр).
- См. , кто выполняет эти запросы .Например, если Google сканирует ваш веб-сайт, переходить в автономный режим очень плохо, если только поисковый рейтинг не имеет значения для вас.С другой стороны, если бот пытается в течение двух часов взломать ваш сайт, выполняя запросы к разным страницам, вы можете обязательно отключиться от сети.
Примечание: если на сайте есть несколько критических областей (например, при написании этого длинного ответа, я был бы зол, если переполнение стека отключится через несколько секунд перед отправкой ответа), вы также можете отправлять регулярные запросы AJAX на сервер, пока пользователь остается на странице.Конечно, вы должны быть осторожны при реализации такой функции и учитывать, что она увеличит используемую полосу пропускания и не будет работать, если у пользователя отключен JavaScript).