|
|
|
|
|
для: Bronepoz[)
(05.05.2007 в 17:57)
| | >Правда у этого способа есть серьёзный минус - при большом количестве пользователей обновление времени занимает много времени
Да почему? Если таблицу онлайн пользователей сделать отдельно от основной - она будет относительно небольшой, пространство её данных будет закешировано и доступ будет мгновенным. | |
|
|
|
|
|
|
|
для: Aid
(03.05.2007 в 12:47)
| | В таблице с пользователями добавить столбец, в который записывать время последнего действия пользователя (просмотр страницы и т.д.). При авторизации сравнивать разницу между текущим временим и временем последнего действия пользователя. Если оно больше , допустим 5 минут, то пользователь в оффлайне. Время надо подбирать исходя из тематики ограниченной зоны сайта. Правда у этого способа есть серьёзный минус - при большом количестве пользователей обновление времени занимает много времени. | |
|
|
|
|
|
|
|
для: victoor
(03.05.2007 в 20:52)
| | спасибо за ответ...
но пожалуй лучше вовсе отказаться от идеи... Пусть себе логинятся... Там измыслю что-нибудь... Пока что и это не идеальное решение, ведь тогда можно и логиниться раз день или чаще, но всё же...
спасибо... Я лучше пока что откажусь от этой идеи... | |
|
|
|
|
|
|
|
для: Loki
(03.05.2007 в 13:40)
| | Хммм... Эти слова от части меня завели в тупик... Незнаю что и сказать, ибо естественным способом проверить все равно не получится... В смысле сразу узнать, если я, допустим просто закрыл броузер без нажатия какого-либо сабмита, а посему либо сервер перегружай, чтоб он перелопачивал ту бедную таблицу раз в минуту либо Бог его знает... А политика? Ну эт "хорошие" люди мне сказали чтоб так было. Сайт новостей... Он является частью веб-портала... Начальство хочет безопасность по полной...
Что поделаешь, когда придумают такое... А хотя оно то и правильно, вот возьмём тот же ASP.Net, там ведь продумано товарищами из Майкрософта... Но опять таки, сервер будет загружен больше обычного | |
|
|
|
|
|
|
|
для: ZuArt
(03.05.2007 в 12:53)
| | Благодарю за ответ. А если автоматом не выкидывать незалогиненные, то как, если вдруг пользователь закрыл страницу, не произведя правильный выход (нажатием соответствующего линка), он зайдёт потом? :) | |
|
|
|
|
|
|
|
для: Aid
(03.05.2007 в 12:47)
| | А если попробывать сделать еще одну таблицу, куда закидывать id_сессии и id_пользователя и флаг на закрытие сессии (возможно, еще какие временные данные).
При авторизации пользователя проверять, есть ли уже запись на его id_пользователя в таблице сессий, если есть - ставить у уже имеющейся записи флаг на закрытие. Потом для входящего пользователя создавать запись.
При переходе пользователя проверять флаг на закрытие, если он установлен, убивать сессию, выводить пользователю сообщение о том, что под его ником зашли.
Для того, чтобы в таблице не накапливались данные о редкозаходящих посетителях, можно в таблицу сессий вносить еще время перехода и,например, раз в сутки удалять из этой таблице всех пользователей, чьи записи старше 1 дня (время взято произвольно, можно и чаще, и реже. | |
|
|
|
|
|
|
|
для: Trianon
(03.05.2007 в 13:51)
| | =))) фактически это было офф-топ =))) аналогичный ответ человеку, который в другом топе мне так же ответил =))) | |
|
|
|
|
|
|
|
для: ZuArt
(03.05.2007 в 13:33)
| | Задачи аутентификации в тонких клиентах (коими являются веб страницы) - по определению нечеткие, поскольку http-протокол явных сессий не поддерживает. Можно и не вникать. Но тогда незачем браться. | |
|
|
|
|
|
|
|
для: ZuArt
(03.05.2007 в 13:33)
| | Решить задачу в такой постановке сложно - разные окна браузеров себя ведут как одно окно, если узнать конечную цель - возможно можно будет найти альтернативное решение. | |
|
|
|
|
|
|
|
для: ZuArt
(03.05.2007 в 13:33)
| | Да просто интересно... Если у меня повис броузер и я попытался зайти с другого, то мне придется дожидаться конца сессии? Или если какие-то глюки верстки... или что чаще встречается - глюки JS... да в конце концов, у разных броузеров разные инструменты в арсенале. Короче, часто приходится лазить на один сайт из разных броузеров одновременно (правда, в 90% случаев как разработчику). Вот мне и стало интересно, с чем связана политика сайта, не пускать меня под моим правильным логином и паролем с разных компьютеров/броузеров? | |
|
|
|
|