2014-06-16 5 views
0

На моем index.php у меня есть форма для входа. Форма имеет метод POST и его действие отправляется в файл аутентификации i.e action = "authenticate.php". В этом файле аутентификации я проверяю, что пользователь существует, я запускаю сеанс, а затем перенаправляю обратно в index.php.session_start в php в index.php

Потому что я хочу, содержание index.php изменить, например, не будет никакой формы Логина, но информация об учетной записи пользователя, я также разместить session_start() в верхней части моего index.php ...

Проблема возникает, когда пользователь впервые посещает мою страницу. Поскольку я помещал session_start() в начале моего index.php, если пользователь уходит и решает не входить в систему, то я застрял с пустым файлом сессии, который занимает место на сервере.

Это плохая практика? Есть ли другой метод, который я должен использовать? Я надеюсь в этом есть смысл.

+1

Лучше всего использовать 'if (isset ($ _ SESSION ['session_name'])) {...}', чтобы проверить, установлен ли сеанс. Если да, то пусть это что-то сделает; или нет. –

+0

Сколько пространства вы считаете пустой сессией? Если ваш сервер не является 286, я не вижу проблемы. Это уже не 90-е; для работы с серверами должно быть достаточно ОЗУ. – developerwjk

+0

@developerwjk Даже XT lol a 286 был блейзером по сравнению с ними. У меня были оба. –

ответ

0

PHP очищает сеансы, которые больше не используются.

Обычная конфигурация должна выполнять только очистку в процентах от запросов, а затем очищать файлы сеанса, которые не использовались за последние 30 минут. Обратите внимание, что это оставляет возможность для сеансов жить дольше на сайтах, которые редко имеют какие-либо запросы, поэтому лучше всего записывать принудительное время выхода в сам сеанс, если есть необходимость регистрировать пользователя, когда он неактивен, например, 15 минут.

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

Но в целом PHP очень хорошо заботится о сеансах.