За последние 24 часа нас посетили 34316 программистов и 1751 робот. Сейчас ищут 965 программистов ...

теория

Тема в разделе "Прочее", создана пользователем siiXth, 22 июл 2011.

  1. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    1. нужно защищать юзеров от кражи куков - пихаем в хеш айпи и всё норм. а вот что делать с юзерами у которых динам. айпи ? они будут разлогиниваться каждый раз при смене своего айпи.
    2. новости друзей аля вконтакте. каждое обновление всех юзеров заносим в таблицу и потом вынимаем те обновления которые принадлежат мои друзьям ? как тогда составить запрос бд при котором можно вынуть записи с user_from например 1,5,6,10,15... и чтобы это естессно нереально бд е грузило =)
    спасибо
     
  2. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    оу йо народ =D этж теория , кто как делал бы или делает ? )
     
  3. Котэ

    Котэ Активный пользователь

    С нами с:
    20 июл 2011
    Сообщения:
    35
    Симпатии:
    0
    в одной таблице хранишь сами события, в другой связь между событием и пользователями которых оно интересует.
    лично я так реализовал, что то подобное
     
  4. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    айди друзей есть , записи в бд есть . как вынуть все записи с теми айди друзей ? как where составить ?
     
  5. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    WHERE user_id IN(1,14,158,205)
     
  6. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    antonn, спасибо.
    по первому вопросу подскажешь какую-то идею ? =)
     
  7. Котэ

    Котэ Активный пользователь

    С нами с:
    20 июл 2011
    Сообщения:
    35
    Симпатии:
    0
    зачем!?

    в таблицу событий заносишь само событие - Вася Пупкин добавил фото

    кладешь в масив всех друзей Пупкина

    потом в другую таблицу, добавляешь записи в цикле
    форич (массив друзей Пупкина) {
    INSERT событие с айди таким то, айди_друга
    }
     
  8. Namer

    Namer Активный пользователь

    С нами с:
    14 апр 2010
    Сообщения:
    492
    Симпатии:
    0
    Можно заюзать рефлекcивную сессию - хранить идентификатор сессии в сессии и не обращать внимание на ip.
     
  9. Easy

    Easy Активный пользователь

    С нами с:
    15 июл 2011
    Сообщения:
    286
    Симпатии:
    0
    Namer, а модно поподробней, не совсем понятно что это даст?
     
  10. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    я не использую ИП, юзаю юзерагент+хеш от учетных данных. украдут так украдут, что поделать...
     
  11. Namer

    Namer Активный пользователь

    С нами с:
    14 апр 2010
    Сообщения:
    492
    Симпатии:
    0
    Модно :) При рефлексивной сессии код сессии не меняется на протяжении сессии. Сессия, которую хранит браузер, в себе хранит сессию на сессию в сессии сервера.
    Дает это то, что браузер хранит только id сессии. Пусть меняется ip это не помеха. Но если сменится браузер, то привет, в авторизации будет отказано.
     
  12. Easy

    Easy Активный пользователь

    С нами с:
    15 июл 2011
    Сообщения:
    286
    Симпатии:
    0
    А разве не будет браузер хранить оба ID сессий?
    Что то я не совсем понял систему. Сессия после закрытия же удалится всё равно, значит нужно что то хранить в бд для восстановления авторизации по кукам.
    вот эту куку же можно спереть.
     
  13. Namer

    Namer Активный пользователь

    С нами с:
    14 апр 2010
    Сообщения:
    492
    Симпатии:
    0
    Нет, только один id. И этого хватает, так как этот id хранит сессию на сессию в сессии сервера. А если сессия закрылась, то от украденной куки толку уже никакого.
     
  14. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    новый юзер зарегался , добавил в друзья пупкина - тот подтвердил , новый юзер при таких раскладах не увидит его записи
    просмотреть её(если у меня в браузере эта сессия) и заменить на другую можно ?
     
  15. Namer

    Namer Активный пользователь

    С нами с:
    14 апр 2010
    Сообщения:
    492
    Симпатии:
    0
    Посмотреть можно и заменить можно, но только на открытую.
    Сейчас как раз попробовал. В итоге сижу нормально залогиненый в аккаунте сразу с двух разных браузеров :D
     
  16. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    тоесть например есть у нас 2 аккаунта и двое в данный момент на сайте с данной открытой сессией. нам нужно зайти под вторым - берём куки и сессию второго и меняем у первого . залогинится ?
     
  17. Namer

    Namer Активный пользователь

    С нами с:
    14 апр 2010
    Сообщения:
    492
    Симпатии:
    0
    Да, залогинится. Я зашел с двух разных браузеров на два разных аккаунта, потом куки с первого браузера переставил во второй и второй браузер как ни в чем не бывало стал гулять по аккаунту первого. И первый браузер тоже в аккаунте.
    Это наверно не то что надо?
    Но лично мне такая авторизация нравится. Вдруг сменился ip или пропала связь на одном из провайдеров, подключаешься снова или с другого провайдера и продолжаешь серфить по аккаунту без перезалогивания.

    Вообще, это не мои слова:
    Это мне один программист писал скрипт авторизации и так объяснил схему работы. Я как говорится прочитал это и понял ничего :)
    Просто решил с вами этим каламбуром поделиться :)
     
  18. Namer

    Namer Активный пользователь

    С нами с:
    14 апр 2010
    Сообщения:
    492
    Симпатии:
    0
    Но знаю один способ авторизации, простой и прикольный, при котором в браузере никакие куки вообще не хрянятся и в адресной строке нет никаких видимых признаков сессии или пароля. Если не догадаетесь - подскажу :)
     
  19. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    мм , flash cookies ? =D
    если можно как ты описал то не подходит. дело даже не в краже , а передаче , потому нужно айпи - единственное что различает 2 компа и рандомно можно хешануть.
     
  20. Namer

    Namer Активный пользователь

    С нами с:
    14 апр 2010
    Сообщения:
    492
    Симпатии:
    0
    Нет, вот эта штука: https://<логин>:<пароль>@<хост>/ :)
    При такой авторизации в куках ничего не хранится и следовательно их не украдешь. И на смену ip это не влияет. А если дополнительно купишь на сервер ssl сертифика, чтобы можно было по https соединяться, то и из сетевого трафа никто не украдет логин и пароль пользователя. Видел некоторые приличные сайты используют только этот способ аутентификации.
     
  21. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    За такое кастрировать
     
  22. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Namer
    HTTPS тоже можно перехватить и обмануть =)
     
  23. Namer

    Namer Активный пользователь

    С нами с:
    14 апр 2010
    Сообщения:
    492
    Симпатии:
    0
    да пожалуйста, перехватывай, обманывай, только расшифровать не сможешь :)
     
  24. Котэ

    Котэ Активный пользователь

    С нами с:
    20 июл 2011
    Сообщения:
    35
    Симпатии:
    0
    ?
     
  25. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Котэ
    100 друзей = 100 запросов. Зачем?
    INSERT into VALUES (...), VALUES (...), VALUES (...) ...