За последние 24 часа нас посетили 17375 программистов и 1723 робота. Сейчас ищут 1544 программиста ...

Опять про сессии - время жизни

Тема в разделе "PHP для новичков", создана пользователем akeelow, 19 июл 2013.

  1. akeelow

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

    С нами с:
    10 апр 2012
    Сообщения:
    58
    Симпатии:
    0
    Почему так правильно? Аргументы то есть или все дела в файлах, которые не эффективно используют дисковое пространство?

    Вы сами почему решили что так правильно? Просто поверили кому-то на слово?
     
  2. shelestov

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

    С нами с:
    25 авг 2011
    Сообщения:
    148
    Симпатии:
    0
    Адрес:
    Россия, Арзамас
    Из опыта.
    Какой смысл раводить теорию если вы сами знаете как для вас лучше?
    Я в начале сказал как увеличить время жизни сессионного файла, делайте.
     
  3. akeelow

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

    С нами с:
    10 апр 2012
    Сообщения:
    58
    Симпатии:
    0
    Я хочу и буду делать так как правильно. Мне просто интересно почему так считается правильным?
    Поделитесь
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    кажись ты маляш зациклился
     
  5. shelestov

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

    С нами с:
    25 авг 2011
    Сообщения:
    148
    Симпатии:
    0
    Адрес:
    Россия, Арзамас
    Ладно на вскидку причины:
    1. Я не считаю что сессия должна быть длинее сессии браузера.
    2. При сохранении через токен у меня есть инструменты для предотвращения кражи этой куки, точнее предотвращения возможности воспользоваться ею третьим лицом.
    3. Я сохраняю весь алгоритм сохранения аунтификации в своей базе и своих скриптах. Т.е. мне пох, если админ потрет директорию с сессиями, они создадутся заново и юзер ничего не заметит.
    4,5,6,7...n
    Времени нет все писать.
     
  6. akeelow

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

    С нами с:
    10 апр 2012
    Сообщения:
    58
    Симпатии:
    0
    Похоже на цикл while - буду спрашивать пока не получу ответа
    Почему?

    зы: Начинаю думать что разговариваю с религиозными фанатиками. Никаких аргументов просто верь и все.
     
  7. shelestov

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

    С нами с:
    25 авг 2011
    Сообщения:
    148
    Симпатии:
    0
    Адрес:
    Россия, Арзамас
    Читайте следующие пункты.

    Добавлено спустя 1 минуту 19 секунд:
    Вы спросили мнение сообщества, оно вам ответило.
    Почему вы считаете что кто то вам что то должен доказывать.
    Вы можете выслушать наше мнение, а сделать по своему, ваше право.
     
  8. akeelow

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

    С нами с:
    10 апр 2012
    Сообщения:
    58
    Симпатии:
    0
    Те пункты противоречат другу другу, поэтому не стал их рассматривать. Сначала вам не нравятся сессии длиннее сессии браузера. Потом тут же вы все храните в базе чтобы продлить сессии, которые даже админ не сможет остановить - не понятно. Про безопасность вообще не понял, что помешает писать в сессии IP пользователя?

    Конечно буду делать как считаю нужным. Более того буду делать так как правильно т.е. через куки и базу. Просто потому что верю вам.

    Хотелось бы конечно узнать причины, почему так, но видимо суждено. Меня просто не понимают.
     
  9. shelestov

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

    С нами с:
    25 авг 2011
    Сообщения:
    148
    Симпатии:
    0
    Адрес:
    Россия, Арзамас
    Я не предлагал хранить сессии в базе. Я храню там собственные токены, по которым позже аунтифицирую юзера, если его сессия истекла.
    Читайте внимательнее. Я думаю в этой теме уже достаточно сказано.
     
  10. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    shelestov, жаль что вы еще не набрались опыта и не понимаете как работает кука. Очень жаль.

    Для меня тема исчерпала свою значимость.

    akeelow, к сожалению куки никогда не будут безопасными.

    Сервер ничего не знает о пользователе. Он не знает какой у него компьютер.
    Если бы вы писали бы игру и сделали бы привязку по железу, HWID. У вас бы были шансы на безопасность.

    Если пользователь не дурак он сам обезопасит себя если он сохранил все в браузере.
    В некоторых современных браузерах есть такая возможность и браузер сам предлагает.
     
  11. shelestov

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

    С нами с:
    25 авг 2011
    Сообщения:
    148
    Симпатии:
    0
    Адрес:
    Россия, Арзамас
    Я отлично понимаю как работает кука.
    Куку украсть не проблема, но вот сделать так, чтобы ей было сложно воспользоваться можно без труда.

    Добавлено спустя 1 минуту 30 секунд:
    Жаль что вы не набрались опыта, чтобы понять как можно обезопасить куки.

    Добавлено спустя 5 минут 9 секунд:
    Заметьте я не говорил про абсолютную безопасность, я говорил, про возможность усложнить жизнь человеку, который захочет воспользоваться вашей кукой.
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тебе дважды уже ответили

    Добавлено спустя 2 минуты 2 секунды:
    тебе ответили несколько раз почему. ты игнорируешь аргументацию, т.к. не понимаешь ее. так бывает. с этим надо уметь бороться.
     
  13. shelestov

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

    С нами с:
    25 авг 2011
    Сообщения:
    148
    Симпатии:
    0
    Адрес:
    Россия, Арзамас
    igordata, закройте тему, она себя давно исчерпала.
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нет. человек не понимает. нужно помогать, а не морщить нос. =)
     
  15. akeelow

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

    С нами с:
    10 апр 2012
    Сообщения:
    58
    Симпатии:
    0
    Рассматривал этот вариант, перечитал тему - не помогло. Можешь еще раз ткнуть носом?
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    сессия нужна чтобы хранить какие-то данные нужные в данный момент, связанные с визитом пользователя.

    она не должна жить дольше, потому что это не требуется.
     
  17. akeelow

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

    С нами с:
    10 апр 2012
    Сообщения:
    58
    Симпатии:
    0
    Мне же потребовалось. Если это считается аргументом, то мимо меня. Надеюсь когда нибудь пойму. Спасибо что старались.
     
  18. Колбася

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

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
    в новой версии пыхи какой-то прикол с куками- вощем из предыдушей версии куки бывают не пашут :/
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тебе потребовалось запомнить юзера а не сессию.
    а если он заходил с другого компа и сменил настройки? подсунуть ему старые настройки из сессии будет неверно.
     
  20. shelestov

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

    С нами с:
    25 авг 2011
    Сообщения:
    148
    Симпатии:
    0
    Адрес:
    Россия, Арзамас
    В какой то из версий сменился дефолтный алгоритм хеширования id сессии.
    Можно все вернуть в php.ini.

    Добавлено спустя 3 минуты 20 секунд:
    session.hash_function
     
  21. akeelow

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

    С нами с:
    10 апр 2012
    Сообщения:
    58
    Симпатии:
    0
    Сессия нужна только для опознания юзера, все настройки хранятся же в базе. Этого вообще не понял. Или что за настройки, например?
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Пора завязывать с теорией.
    Официально заявляю тебе: ты готов для практики. Вперед, дерзай! =)
     
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Та не, похоже на while(true){unset($_REQUEST)};

    Сессия и запоминание пользователя - это не синонимы, вот и все, что нужно понять. Сессия это -
    1)пришел пользователь;
    2)ввел логин и пароль; (если сайт подразумевает ввод логина и пароля, ибо серверу-то плевать на ваши логины, пароли, он откроет сессию любому, только попроси);
    3)получил флажок и собственный буфер, в который мы можем писать инфу, передаваемую между страницами. Его ACL-права, например. - вот только вот этот пунт это та самая сессия.
    4) Если пользователь попросил его запомнить, даем ему куку волшебную, значение которой сохраняем где-то у себя.
    5) Пользователь ушел - убиваем через какое-то время его буфер, его флажок больше недействителен, то есть файл его сессии удален.

    При повторном же визите:
    1) пришел пользователь;
    2) если у него есть кука волшебная, проверяем, кому мы ее выдавали, ага...васе пупкину, ну окай
    3) НЕ предлагаем ввести логин и пароль, а сразу выдаем флажок и новый собственный буфер.

    То есть механизм запоминания это не такая долгоживущая сессия, а просто напросто средство автоматизации открытия сессий для пользователей, основанное на определенной степени доверия пользовательскому браузеру.