Вопросы с блокировкой по ip
Хочу сделать систему, когда юзер может заходить в свой аккаунт только с одного ip. То есть исключается возможность одновременного входа в аккаунт с двух разных ip. Подскажите, как мне это лучше реализовать. Нужно ли мне для этого обязательно делать отдельную таблицу в БД или можно обойтись сессиями? Вообщем, хотелось бы узнать возможный алгоритм действий. Спасибо.
Если второе, то я бы хранил IP в сессиях и сверял бы его при каждом обращении.
Цитата:
Originally posted by mike
С одного IP вообще ? Или с одного IP в течении одной сессии ??
Если второе, то я бы хранил IP в сессиях и сверял бы его при каждом обращении.
С одного IP вообще ? Или с одного IP в течении одной сессии ??
Если второе, то я бы хранил IP в сессиях и сверял бы его при каждом обращении.
Я конечно имел в виду блокировка по ip в течение однйо сессии.
То есть, когда логинится юзер:
1. открываю сессию
2. узнаю его ip
3. далее регистрирую юзера и его ip в сессии.
И далее при каждом вызове страницы...
1. узнаю ip
2. if($current_ip!=session_is_registered("user_ip")) {
header("location: login.php");
}
else {
main content...
}
Типа этого?
А как насчет коннекта по dialup? Слышал, что Ip адреса там динамические. Может ли ip адрес при такм коннекте изменяться в течение одной сессии? Если да, то как тогда выкрутиться.
1. зашел на ресурс
2. залогинился
3. случайно вырвал ногой провод из тел. розетки, либо просто связь упала
3. перезашел (дозвонился вновь и получил новый адрес) в сеть не закрывая UA
4. сессия еще жива, но ип новый - придется логиниться заново=)ъ
**Жива сессия или мертва, все-равно пришлось бы логиниться заново.
Вообще ставить слишком короткий срок сессии это вроде как издевательство. Выкрутиться из трабла с диалапщиками вроде бы никак и не выйдет. И это на мой взгляд нормально, если уже связь у человека оборволась, то это можно расценивать как покидание им ресурса (почему бы и нет?). А если покинул - перелогинься придя вновь.