![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| phpsc |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 22.11.2010 Репутация: нет Всего: 0 |
$_SERVER['REMOTE_ADDR'] всегда определяется у простых пользователей?
Имеются ввиду простые пользватели сайта, кулхацкеров и прочих не берем в расчет. Нужна идентификация куками на основе хеша и ip. --------------------
Социальная сеть |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| phpsc |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 22.11.2010 Репутация: нет Всего: 0 |
просто каждому пользователю в куки заносится кука "хеш" и кука "ip"
хеш двойной md5 генерируется случайно и выдается на определенное время каждому залогиневшемуся.. Чтобы отличать авторизации пользователей. Это сообщение отредактировал(а) phpsc - 22.12.2010, 21:42 --------------------
Социальная сеть |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
ну, если поставил куку с некоторым именем name, значит, проверяешь в скрипте переменную $_COOKIE['name'] на наличие в ней какого-то значения. то же самое и с ip. после чего лезешь в своё хранилище (к примеру в БД, где ты мог сохранить какой хэш и какой ip был на момент постановки куки) и ищешь такие значения. если в одной строчке будут и хэш и ip - значит авторизованный человек. иначе - нет
всё можно упростить, если использовать сессии - та же самая кука. а в сессии сохранять время и хэш этого времени с солью $hash = md5($salt.md5($time)); тогда ни в какую базу лезть не придётся, а достаточно будет просто получить из сессионной переменной со временем хэш по тому же правилу и сравнить с сессионным хэшем. можно ip сюда добавить. только зачем его специально сохранять? он ведь есть в $_SERVER['REMOTE_ADDR'] |
|||
|
||||
| phpsc |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 22.11.2010 Репутация: нет Всего: 0 |
Получается в сыконагруженном сайте лучше использовать сессии, а не куки, чтобы было меньше обращений к БД?
--------------------
Социальная сеть |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
и? с чем вы собираетесь сравнивать текущий ip? с тем же $_SERVER['REMOTE_ADDR'] чтобы учесть ip, достаточно при генерации хэша включать в форму ip, но сохранять её бессмысленно |
|||
|
||||
| phpsc |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 22.11.2010 Репутация: нет Всего: 0 |
p.s: читал про сессии и кукисы и пришел к выводу что нужно постоянно проверять значение кукисов со значение в БД. Это сообщение отредактировал(а) phpsc - 26.12.2010, 01:26 --------------------
Социальная сеть |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
не обязательно, бывают разные варианты. вот у меня где-то в куку пишется id пользователя, время и хэш. а хэш образован не только на основе id, ip и времени, но есть ещё и разные заголовки с браузера. таким образом, даже обновление браузера до другой версии или изменение некоторых настроек приведёт к недействительности куки. так же кука устаревает за счёт настройки серверного таймлимита. с другой стороны такая постановка позволяет иметь уникальный контакт при любом изменении. то есть перенести куку на другой ПК - практически не даст никакой пользы. нужно идеально повторить условия второго ПК никакой БД тут нет. ведь если бы была БД, мне потребовалось на каждый уникальный контакт пользователя вводить дополнительную запись. допустим 100000 пользователей, каждый заходит на сайт в среднем с пяти разных точек - итого 0,5М записей. а если он ещё и обновляется периодически (обычное дело) - в итоге записей будет несколько миллионов - это только, чтобы удовлетворить процесс автоматической авторизации. не слишком ли дорого? |
|||
|
||||
| phpsc |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 22.11.2010 Репутация: нет Всего: 0 |
Мне нужно под самую высокую нагрузку. Это сообщение отредактировал(а) phpsc - 26.12.2010, 21:02 --------------------
Социальная сеть |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |