продвинутый пользователь / персонал онлайн отслеживания активности? - PullRequest
0 голосов
/ 06 марта 2012

Я искал решение для отслеживания персонала в области администрирования нашего сайта. Я хотел бы иметь возможность достоверно видеть, сколько времени каждый сотрудник проводит в сети (работая) каждый день, неделю, месяц и т. Д. Есть несколько способов сделать это, но я не смог найти хорошего решения.

  • Записывает каждую страницу загрузки в базу данных с отметкой времени и URL / имя файла / страницы

Проблема с этим методом заключается в том, как вы действительно узнаете, был ли пользователь «активным» на этой странице. Если между загрузками страниц 30 минут, вы не знаете, загрузили ли они страницу, потратили 2 минуты на ее просмотр, а затем следующие 28 минут, играя в Xbox.

  • Использование JavaScript для входа в систему при загрузке страницы и при выгрузке страницы

Этот метод будет немного лучше, чем предыдущий, потому что вы должны знать, закрывают ли они браузер, и можете ли вы завершить сеанс прямо там. Однако у него все еще есть большие проблемы, такие как первая. Если они оставят страницу открытой и отойдут от компьютера.

Я знаю, что никогда не будет 100% надежного метода для отслеживания этого, особенно если персонал намеренно пытается обмануть систему. Я, однако, пытаюсь получить максимально надежное отслеживание, какое только возможно в этих обстоятельствах.

Я думаю, что лучше использовать метод, использующий ajax, который отслеживает активность мыши. Если действие мыши прекращается на X минут, вы можете решить, что пользователя больше нет. По сути, вам необходимо отслеживать это, а затем складывать все время, которое мышь активно проводила, находясь на сайте.

У кого-нибудь есть предложения для уже созданных скриптов, которые могут это сделать? Или совет, если бы я должен был создать свое собственное решение?

1 Ответ

0 голосов
/ 06 марта 2012

Вы можете периодически отправлять сердцебиение своему бэкэнду через AJAX.Также вы можете регистрировать действия пользователей с помощью JavaScript.Вы можете определить некоторые правила, которые отправляются вместе с сердцебиением.

Пример:

Javascript AJAX Heartbeat каждые 10 секунд со следующими данными:

data: {
    lastAction: { type: 'userMouseMoved', timestamp: 12312312313 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...