Отслеживайте пользователя и запрещайте несколько окон / вкладок с помощью php / javascript - PullRequest
1 голос
/ 28 ноября 2010

Я хочу настроить систему, которая позволит посетителю просматривать только одну веб-страницу за раз. Только одно окно браузера или вкладка должны быть разрешены.

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

Каков наилучший способ сброса этой переменной сеанса, если пользователь переходит с одной страницы на другую?

Я добавил функцию ajax в событие onunload тела html. Все, что он делает, это устанавливает для переменной сеанса значение false.

Но это приносит всевозможные неприятности и неожиданные результаты. При обновлении страницы сначала отображается шаблон запрета (при этом переменная сеанса отображается как истинная по неизвестной мне причине), а затем после другого обновления я могу снова загрузить страницу.

Не могу ли я работать с заголовками над сценарием, который вызывается с помощью ajax? Как еще можно сбросить переменную сеанса и отслеживать, куда пользователь заходит на сайт, чтобы запретить ему доступ, если он уже просматривает другую страницу?

1 Ответ

0 голосов
/ 28 ноября 2010

Если вы действительно хотите помешать людям делать это, ограничьте количество подключений к IP на сервере.Но, пожалуйста, не ограничивайте его одним или около того, чтобы избежать блокировки всей семьи или около того, когда у них есть несколько компьютеров.

Если все в порядке, когда люди охотно игнорируют это ограничение (например, запуская другой браузер), дайтекаждый пользователь использует cookie и ограничивает количество подключений на файл cookie на сервере - уничтожает старые подключения при появлении новых.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...