Есть несколько способов подойти к этому.Но на самом деле все сводится к типу контента и тому, как часто данный пользователь действительно получает новый контент.Для веб-сайтов для взрослых, очевидно, основная цель входа - загрузка нового контента.Я не уверен насчет вашего сайта.
Один из способов, и, возможно, самый простой, - просто ограничить количество одновременных загрузок и / или ограничить скорость каждой загрузки.
Если файлыдостаточно большой, вы можете установить ограничение скорости передачи данных.Выберите что-то немного медленное, но недостаточно медленное, чтобы сводить людей с ума.Я полагаю, что загрузка файла за 30 секунд - это не так уж и плохо.
Тогда разрешите им загружать только 1 или 2 документа за один идентификатор входа в систему.Люди будут менее склонны делиться своими паролями, если будут знать, что они могут не смогут загрузить что-либо, потому что кто-то другой.
Еще один подход - захватитьIP-адрес, когда пользователь входит в систему. Да, я знаю, что это меняется, но это дает вам отправную точку.Если несколько пользователей активны с одним и тем же идентификатором входа, но с разными IP-адресами, вы можете отправить им уведомление о том, что их учетная запись была «взломана»;) и что вы меняете пароль.Измените его, вышвырните всех и отправьте пароль на адрес электронной почты, который у вас есть в файле.
Имейте в виду, что вы не хотите помешать пользователю получить доступ к нему с работы, затем пойти домой и получить доступэто там.Таким образом, вы должны убедиться, что они в основном онлайн в то же время.Это означает получение запросов от разных IP-адресов в течение одной или двух минут друг от друга.
Поворотом этого будет обнаружение того, связаны ли несколько идентификаторов сеансов с одним и тем же именем входа.Например, когда они входят в систему, сохраните текущий идентификатор сеанса в таблице.После того, как они выйдут из системы или истечет тайм-аут, очистите этот идентификатор сеанса.
Не позволяйте им войти снова, пока активен другой идентификатор сеанса.Сообщите им, что они должны ждать xx минут, пока сеанс не будет очищен ИЛИ что другой пользователь в настоящее время вошел в систему со своей учетной записью.
Спросите их, хотят ли они сбросить сеанс.Это учитывает ситуации, когда кто-то случайно закрывает браузер и возвращается на ваш сайт.Если они выберут «да», остановите текущий активный сеанс, измените пароль и отправьте его на адрес электронной почты, указанный в файле.
Я гарантирую, что последний вызов заставит людей перестать делиться своими паролями.В конце концов, если я не могу войти в систему, потому что кто-то, кому я дал свой пароль, в настоящее время находится в сети, то это болевая точка, которую я хочу прекратить.Кроме того, если я заимствовал пароль и заблокировал себя только потому, что пароль изменился, тогда я либо получу свою учетную запись, либо пойду куда-либо еще: обе ситуации обычно являются приемлемыми.