1. нужно защищать юзеров от кражи куков - пихаем в хеш айпи и всё норм. а вот что делать с юзерами у которых динам. айпи ? они будут разлогиниваться каждый раз при смене своего айпи. 2. новости друзей аля вконтакте. каждое обновление всех юзеров заносим в таблицу и потом вынимаем те обновления которые принадлежат мои друзьям ? как тогда составить запрос бд при котором можно вынуть записи с user_from например 1,5,6,10,15... и чтобы это естессно нереально бд е грузило =) спасибо
в одной таблице хранишь сами события, в другой связь между событием и пользователями которых оно интересует. лично я так реализовал, что то подобное
айди друзей есть , записи в бд есть . как вынуть все записи с теми айди друзей ? как where составить ?
зачем!? в таблицу событий заносишь само событие - Вася Пупкин добавил фото кладешь в масив всех друзей Пупкина потом в другую таблицу, добавляешь записи в цикле форич (массив друзей Пупкина) { INSERT событие с айди таким то, айди_друга }
Можно заюзать рефлекcивную сессию - хранить идентификатор сессии в сессии и не обращать внимание на ip.
Модно При рефлексивной сессии код сессии не меняется на протяжении сессии. Сессия, которую хранит браузер, в себе хранит сессию на сессию в сессии сервера. Дает это то, что браузер хранит только id сессии. Пусть меняется ip это не помеха. Но если сменится браузер, то привет, в авторизации будет отказано.
А разве не будет браузер хранить оба ID сессий? Что то я не совсем понял систему. Сессия после закрытия же удалится всё равно, значит нужно что то хранить в бд для восстановления авторизации по кукам. вот эту куку же можно спереть.
Нет, только один id. И этого хватает, так как этот id хранит сессию на сессию в сессии сервера. А если сессия закрылась, то от украденной куки толку уже никакого.
новый юзер зарегался , добавил в друзья пупкина - тот подтвердил , новый юзер при таких раскладах не увидит его записи просмотреть её(если у меня в браузере эта сессия) и заменить на другую можно ?
Посмотреть можно и заменить можно, но только на открытую. Сейчас как раз попробовал. В итоге сижу нормально залогиненый в аккаунте сразу с двух разных браузеров
тоесть например есть у нас 2 аккаунта и двое в данный момент на сайте с данной открытой сессией. нам нужно зайти под вторым - берём куки и сессию второго и меняем у первого . залогинится ?
Да, залогинится. Я зашел с двух разных браузеров на два разных аккаунта, потом куки с первого браузера переставил во второй и второй браузер как ни в чем не бывало стал гулять по аккаунту первого. И первый браузер тоже в аккаунте. Это наверно не то что надо? Но лично мне такая авторизация нравится. Вдруг сменился ip или пропала связь на одном из провайдеров, подключаешься снова или с другого провайдера и продолжаешь серфить по аккаунту без перезалогивания. Вообще, это не мои слова: Это мне один программист писал скрипт авторизации и так объяснил схему работы. Я как говорится прочитал это и понял ничего Просто решил с вами этим каламбуром поделиться
Но знаю один способ авторизации, простой и прикольный, при котором в браузере никакие куки вообще не хрянятся и в адресной строке нет никаких видимых признаков сессии или пароля. Если не догадаетесь - подскажу
мм , flash cookies ? =D если можно как ты описал то не подходит. дело даже не в краже , а передаче , потому нужно айпи - единственное что различает 2 компа и рандомно можно хешануть.
Нет, вот эта штука: https://<логин>:<пароль>@<хост>/ При такой авторизации в куках ничего не хранится и следовательно их не украдешь. И на смену ip это не влияет. А если дополнительно купишь на сервер ssl сертифика, чтобы можно было по https соединяться, то и из сетевого трафа никто не украдет логин и пароль пользователя. Видел некоторые приличные сайты используют только этот способ аутентификации.