Betcity Top
Показано с 1 по 5 из 5

 

 

Работа с сессиями в php

 

 

  1. Аватар для DigiTabs

    Регистрация
    02.02.2011
    Сообщений
    12,870

    Работа с сессиями в php

    Необходимо иметь представление, для чего вы можете использовать сессии, а где их использовать не стоит.

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

    Ведь пользователь всегда сможет избавится от идентификатора.

    Допустим, чтобы произвести проверку на то, что форма заполняется именно человеком, а не скриптом, у самого пользователя появляется заинтересованность в том, чтобы сессия корректно работала, т.к. в противном случае он не сможет отправить форму.

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

    Еще одно очень важно помнить, что сессия – это сеанс при работе с сайтом.

    Зашли, поработали, закрыли браузер и все… на этом сессия заканчивается.

    Это подобие сеанса в кино. Хотите посмотреть еще раз или другое кино – купите новый билет. Так и здесь, нужно запускать новый сеанс.

    Для этого есть и техническое объяснение. Гарантия работы сессии существует только до момента закрытия браузера пользователем.

    Ведь у пользователей может быть отключены cookies, в следствие чего, все ссылки, дополненные идентификатором исчезнут пои закрытии браузера.

    Но сессия будет пропадать и не только после закрытия браузера.

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

    Для этого был введен таймаут – заранее установленное время, через которое в результате неактивности считается что пользователь покинул сайт.

    По умолчанию это значение равно 24 мин.

  2. Аватар для DigiTabs

    Регистрация
    02.02.2011
    Сообщений
    12,870
    Последние проблемы которые бывают в сессиях
    Если ваш код не работает, то проблема скорее всего не связана с сессиями, а кроется в самом алгоритме.

    Проверьте правильность переменных, возможно вы где-то утеряли переменную, отладьте свой скрипт.

    Еще одной проблемой может стать использование перенаправления через навигацию или header при помощи Java-скриптов.

    Проблема в том, что PHP сам дописывает автоматический идентификатор сессии только для ссылок вида <a href=>, но не работает для ява-скриптов, мета-тегов и header-ов.

    В этом случае необходимо добавить идентификатор руками:

    Код:
    header("Location: /script.php?".session_name().'='.session_id());
    Иногда также встречается проблема с настройкой session.save_handler.

    Она имеет свое значение, которое отличается от files.

    Если это не так – нужно исправить.



    Дополнительная информация:

    • Кроме куков, сессии посылают и заголовки, которые запрещают кэшировать страницы (cache limiter). В html это будет правильно и нужно.

    Но если вы попытаетесь при помощи скрипта, проверяющего авторизацию, отдать файл, то браузер откажется скачивать его.

    Чтобы решить данную проблему вы можете воспользоваться строкой:

    Код:
    session_cache_limiter("private");
    до старта сессии, скорее всего это решит вашу проблему.


    • Как не странно, но использование числовых индексов $_SESSION[1], $_SESSION['10'] в массиве $_SESSION не рекомендуется, т.к. сессии не будут работать.

    • В версиях 4.2 - 5.0 была запрещена установка session.use_trans_sid при помощи ini_set(), но начиная с 5-й версии это стало возможным.

    • До PHP 4.3.3, скрипт отправлял cookies только когда старт сессии происходил без идентификатора в запросе. Сейчас cookies отправляется каждый раз, когда вызывается session_start().

    PHP код который устойчивый к ошибкам< Предыдущая Следующая >Сессии и cookies решения проблемы

  3. Пользователь

    Регистрация
    10.04.2021
    Сообщений
    12
    PHP код можно переделать сразу и куки чекнуть их, если я не ошибаюсь
    Pari Match Sidebar

  4. Пользователь

    Регистрация
    22.05.2021
    Сообщений
    18
    Цитата Сообщение от Lletanew Посмотреть сообщение
    PHP код можно переделать сразу и куки чекнуть их, если я не ошибаюсь
    Да, это один из минусов, почти всё придётся переделывать.
    Фонбет Sidebar

  5. Пользователь

    Регистрация
    01.06.2021
    Сообщений
    34
    Цитата Сообщение от Vetaveya Посмотреть сообщение
    Да, это один из минусов, почти всё придётся переделывать.
    Не все, куски можно обрезать и некоторые оставить...
    Фонбет Sidebar

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •