Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> $_SERVER['REMOTE_ADDR'] всегда определяется? 
:(
    Опции темы
phpsc
Дата 22.12.2010, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 22.11.2010

Репутация: нет
Всего: 0



$_SERVER['REMOTE_ADDR'] всегда определяется у простых пользователей?

Имеются ввиду простые пользватели сайта, кулхацкеров и прочих не берем в расчет. Нужна идентификация куками на основе хеша и ip.
--------------------
Социальная сеть
PM MAIL   Вверх
bars80080
Дата 22.12.2010, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(phpsc @  22.12.2010,  20:04 Найти цитируемый пост)
на основе хеша

какого хэша?
PM MAIL WWW   Вверх
phpsc
Дата 22.12.2010, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 22.11.2010

Репутация: нет
Всего: 0



просто каждому пользователю в куки заносится кука "хеш" и кука "ip"

хеш двойной md5 генерируется случайно и выдается на определенное время каждому залогиневшемуся.. Чтобы отличать авторизации пользователей.

Это сообщение отредактировал(а) phpsc - 22.12.2010, 21:42
--------------------
Социальная сеть
PM MAIL   Вверх
bars80080
Дата 23.12.2010, 00:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



ну, если поставил куку с некоторым именем name, значит, проверяешь в скрипте переменную $_COOKIE['name'] на наличие в ней какого-то значения. то же самое и с ip. после чего лезешь в своё хранилище (к примеру в БД, где ты мог сохранить какой хэш и какой ip был на момент постановки куки) и ищешь такие значения. если в одной строчке будут и хэш и ip - значит авторизованный человек. иначе - нет


всё можно упростить, если использовать сессии - та же самая кука. а в сессии сохранять время и хэш этого времени с солью 
$hash = md5($salt.md5($time));
тогда ни в какую базу лезть не придётся, а достаточно будет просто получить из сессионной переменной со временем хэш по тому же правилу и сравнить с сессионным хэшем.

можно ip сюда добавить. только зачем его специально сохранять? он ведь есть в $_SERVER['REMOTE_ADDR']
PM MAIL WWW   Вверх
phpsc
Дата 23.12.2010, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 22.11.2010

Репутация: нет
Всего: 0



Получается в сыконагруженном сайте лучше использовать сессии, а не куки, чтобы было меньше обращений к БД?
Код

можно ip сюда добавить. только зачем его специально сохранять? он ведь есть в $_SERVER['REMOTE_ADDR'] 
 я думаю, что это нужно чтобы кука работала только для конкретного ip пользователя, если ip меняется то кука уже не будет работать.
--------------------
Социальная сеть
PM MAIL   Вверх
bars80080
Дата 23.12.2010, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(phpsc @  23.12.2010,  13:19 Найти цитируемый пост)
я думаю, что это нужно чтобы кука работала только для конкретного ip пользователя, если ip меняется то кука уже не будет работать. 

и? с чем вы собираетесь сравнивать текущий ip? с тем же $_SERVER['REMOTE_ADDR'] 

чтобы учесть ip, достаточно при генерации хэша включать в форму ip, но сохранять её бессмысленно
PM MAIL WWW   Вверх
phpsc
Дата 26.12.2010, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 22.11.2010

Репутация: нет
Всего: 0



Код

и? с чем вы собираетесь сравнивать текущий ip? с тем же $_SERVER['REMOTE_ADDR'] 
 Да, при каждом обращении авторизованного пользователя делается запрос к БД, и если в БД несовпадает  поле ip с $_SERVER['REMOTE_ADDR'] , то разлогиниваем пользователя. И я может не совсем понимаю, но этот способ нормальный?

p.s: читал про сессии и кукисы и пришел к выводу что нужно постоянно проверять значение кукисов со значение в БД.

Это сообщение отредактировал(а) phpsc - 26.12.2010, 01:26
--------------------
Социальная сеть
PM MAIL   Вверх
bars80080
Дата 26.12.2010, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(phpsc @  26.12.2010,  00:23 Найти цитируемый пост)
читал про сессии и кукисы и пришел к выводу что нужно постоянно проверять значение кукисов со значение в БД.

не обязательно, бывают разные варианты.

вот у меня где-то в куку пишется id пользователя, время и хэш. а хэш образован не только на основе id, ip и времени, но есть ещё и разные заголовки с браузера. таким образом, даже обновление браузера до другой версии или изменение некоторых настроек приведёт к недействительности куки. так же кука устаревает за счёт настройки серверного таймлимита. с другой стороны такая постановка позволяет иметь уникальный контакт при любом изменении. то есть перенести куку на другой ПК - практически не даст никакой пользы. нужно идеально повторить условия второго ПК
никакой БД тут нет. ведь если бы была БД, мне потребовалось на каждый уникальный контакт пользователя вводить дополнительную запись. допустим 100000 пользователей, каждый заходит на сайт в среднем с пяти разных точек - итого 0,5М записей. а если он ещё и обновляется периодически (обычное дело) - в итоге записей будет несколько миллионов - это только, чтобы удовлетворить процесс автоматической авторизации. не слишком ли дорого?
PM MAIL WWW   Вверх
phpsc
Дата 26.12.2010, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 22.11.2010

Репутация: нет
Всего: 0



Цитата(bars80080 @ 26.12.2010,  14:11)
не обязательно, бывают разные варианты.
ну а куда тогда записывать значение куки?в файлы?Или только один раз при входе проверить значение с БД и все?

Мне нужно под самую высокую нагрузку.

Это сообщение отредактировал(а) phpsc - 26.12.2010, 21:02
--------------------
Социальная сеть
PM MAIL   Вверх
bars80080
Дата 27.12.2010, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(phpsc @  26.12.2010,  19:59 Найти цитируемый пост)
ну а куда тогда записывать значение куки?в файлы?Или только один раз при входе проверить значение с БД и все?

в моём случае - вообще никуда, что и обеспечивает высокую нагрузку, так как не задействует ни файловую систему, ни БД
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0476 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.