PHP-сеансы с отключенными файлами cookie, это работает?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP-сеансы с отключенными файлами cookie, это работает?

Сообщение Anonymous »

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

Вопрос заключался в том, можно ли использовать сеанс PHP устанавливать и читать, использовать, если файлы cookie отключены в браузере пользователей?

Я сказал им нет, потому что сеансы PHP по умолчанию зависят от установки файла cookie сеанса. Когда начинается сеанс PHP, новый файл cookie сеанса устанавливается с именем по умолчанию PHPSESSID, и этот файл cookie содержит значение этого идентификатора сеанса, например: ftu63d8al491s5gatuobj39gk7
Затем на сервере Apache в папке tmp создается файл sess_ftu63d8al491s5gatuobj39gk7, который содержит содержимое этого сеанса. сеанс, например: test1|s:12:"SessionTest1";test2|s:12:"SessionTest2";

Они сказали мне, что это неправда и что вы можете использовать сеансы PHP даже если пользователь отключит файлы cookie в своем браузере.

Тогда я сказал им, что вы можете это сделать, но тогда идентификатор сеанса будет передан через URL как переменную GET. И это небезопасно, и вы должны настроить это в php.ini.

Они говорили, как вы можете использовать сеансы PHP, даже если файлы cookie отключены в браузере. А что, если мы создаем интернет-магазин, а какая-то бабушка пользуется нашим интернет-магазином и отключает файлы cookie, и ей все равно. И эти сеансы PHP великолепны, потому что вы можете использовать их, даже если пользователь отключил файлы cookie. Я подумал: «Что за черт, что за черт?!?!

Я сделал тест с двумя файлами, index.php запускает сеанс и устанавливает переменные сеанса. А затем session.php пытается прочитать эти переменные сеанса.

Вот как это выглядит:

index. PHP

Код: Выделить всё

This is where I start and set php sessions.



This is a link, that starts new HTTP Request, and tries to read session set on this page:
[url=session.php]Read Session[/url]
session.php

Код: Выделить всё


[url=index.php]Back[/url]
Теперь, если вы включите файлы cookie в своем браузере, посетите index.php и посетите session.php, сеанс будет распечатан.

Но если вы очистите историю браузера и файлы cookie, а затем посетите index.php, а затем посетите session.php, вы увидите пустой массив, верно?

По сути, мой вопрос заключается в следующем: прав ли я?
Можете ли вы использовать сеансы PHP, если вы отключить файлы cookie в вашем браузере?
И механизм сеанса PHP по умолчанию зависит от настройки сеансового COOKIE?

Обновление:
Я сходил с ума по этому поводу, поэтому я перезвонил парню, с которым разговаривал. И спросил его, может ли сеанс PHP работать без файлов cookie по умолчанию? Парень сказал «да». Тогда я сказал ему, что он неправ, и он сказал: «да, да, если ты так говоришь...» и начал смеяться. Затем я сказал ему: хорошо, если сеанс PHP может работать без установки файла cookie, как сервер узнает идентификатор текущего сеанса пользователя/браузера, если он не хранится в файле cookie сеанса? (Я хотел узнать, знает ли он, что идентификатор сеанса можно передать как переменную GET). И он молчал как минимум 20 секунд и сказал мне, что он системный администратор, и что мне следует спросить этого парня-разработчика. И что ему 43 года, и у него огромный 13-летний опыт работы в бизнесе (он начинал с 30 лет? Что за черт?), но в этом вопросе он мне доверяет. И я объяснил ему, как работает сеанс и что вы можете использовать его без Cookie, но тогда идентификатор сеанса передается как переменная GET, и сказал ему, что сказал им это на собеседовании, но они сказали мне нет, нет, нет... :S < /p>

По сути, этот парень понятия не имел о PHP и сеансах PHP, и да, именно он спрашивал меня о сеансах, говоря мне, что сеанс PHP может работать без печенье, даже когда я сказал ему, что это невозможно сделать, и что там это способ использовать сеансы PHP без файлов cookie, но по умолчанию он не работает. Он такой: нет-нет-нет...
В конце он сказал мне, что думает, что сеансы могут работать без файлов cookie, потому что он, как системный администратор на своих серверах, никогда не может видеть сеансы в папке tmp?!? !?

В любом случае, эти ребята отстой в PHP, я ни за что не приму от них предложение о работе, и после всего этого я не думаю, что они предложат мне работу в любом случае...

Спасибо за все комментарии!

Подробнее здесь: https://stackoverflow.com/questions/125 ... es-it-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»