Можно ли очистить переменную другого сеанса? - PullRequest
1 голос
/ 29 апреля 2011

У меня есть некоторая информация, хранящаяся в $ _SESSION, сеанс хранится в базе данных через пользовательский обработчик сеанса.

Существует ли стандартный способ «олицетворения» сеанса с идентификатором сеанса или очисткиконкретные переменные из другого сеанса.

Я спрашиваю об этом, потому что у меня есть свое веб-приложение с переменными сеанса, которое работает само по себе, это фактическая корзина покупок с информацией о заказе с использованием PayPal.Paypal возвращает ответ о платеже через IPN (уведомления), которые являются запросом, сделанным с их сервера на мой сайт.Эти запросы, конечно, инициируют свои собственные сессии.

То, что я хочу найти, - это способ очистки исходной переменной сеанса из запроса на уведомление PayPal, который видит другой сеанс.Есть ли способ сделать это?

Одной из идей может быть ручное редактирование базы данных, в которой хранятся данные сеанса, но я хочу найти что-то стандартное, независимо от обработчиков сеанса.

Ответы [ 4 ]

1 голос
/ 30 апреля 2011

Я спрашиваю об этом, потому что у меня есть свое веб-приложение с переменными сеанса, которое работает само по себе, это фактическая корзина покупок с информацией о заказе с использованием PayPal.Paypal возвращает ответ о платеже через IPN (уведомления), которые являются запросом, сделанным с их сервера на мой сайт.Эти запросы, конечно, инициируют свои собственные сеансы.

Я хочу найти способ очистки исходной переменной сеанса из запроса на уведомление PayPal, который видит другой сеанс.Есть ли способ сделать это?

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

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

0 голосов
/ 30 апреля 2011

Во-первых, это не обязательно.

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

0 голосов
/ 30 апреля 2011

Вы пытались создать массив сессий и присвоить ему идентификатор.

как это

$_SESSION['ipn'] ="";
$_SESSION['ipn']= "Mescalito";
0 голосов
/ 30 апреля 2011

Сессии работают из-за файлов cookie браузера.Если вы удалите куки, он создаст новый сеанс.Если вы измените свой файл cookie на другой для другого сеанса, теперь вы имитируете этот сеанс.

Вы можете использовать инструменты разработчика Chrome или дополнение веб-разработчика Firefox, чтобы получить легкий доступ к файлам cookie ваших браузеров.

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