У меня есть некоторая информация, хранящаяся в $ _SESSION, сессия хранится в базе данных через специальный обработчик сеанса.
Существует ли стандартный способ «олицетворять» сеанс, имеющий идентификатор сеанса или очищать определенные переменные от другого сеанса.
Я спрашиваю об этом, потому что у меня есть мое веб-приложение, с его переменными сеанса на собственной работе, это фактическая корзина с информацией о заказе с помощью paypal. Paypal возвращает ответ платежа через IPN (Уведомления), который является запросом, сделанным с их сервера на мой сайт. Эти просьбы, конечно же, инициируют свои собственные сеансы.
То, что я хочу найти, – это способ очистить исходную переменную сеанса от запроса уведомления о платеже, который видит другой сеанс. Есть ли способ сделать это?
Одна из идей может заключаться в том, чтобы вручную редактировать базу данных, в которой хранятся данные сеанса, но я хочу искать что-то стандартное, независимо от обработчиков сеансов.
Я спрашиваю об этом, потому что у меня есть мое веб-приложение, с его переменными сеанса на собственной работе, это фактическая корзина с информацией о заказе с помощью paypal. Paypal возвращает ответ платежа через IPN (Уведомления), который является запросом, сделанным с их сервера на мой сайт. Эти просьбы, конечно же, инициируют свои собственные сеансы.
То, что я хочу найти, – это способ очистить исходную переменную сеанса от запроса уведомления о платеже, который видит другой сеанс. Есть ли способ сделать это?
Если вам необходимо отредактировать данные в чужой сессии, вы не должны хранить эти данные в сеансе для начала.
Если вам нужно читать или иным образом работать с IPN, возможно, вы должны хранить их в базе данных в фактической таблице. Вы можете связать строку с идентификатором сеанса пользователя или, предпочтительно, с их логином или адресом электронной почты.
Сессии работают из-за куки-файлов браузера. Если вы удалите файл cookie, он создаст новый сеанс. Если вы измените свой файл cookie на один для другого сеанса, вы теперь выдадите себя за этот сеанс.
Вы можете использовать инструменты разработчика Chrome или аддон веб-разработчика Firefox, чтобы получить легкий доступ к куки-файлы вашего браузера.
Вы пытались создать массив сеансов и дать ему идентификатор.
как это
$_SESSION['ipn'] =""; $_SESSION['ipn']= "Mescalito";
В первую очередь это не обязательно.
Я уверен, что вы можете указать уникальный идентификатор задания в IPN. Используйте этот уникальный идентификатор, чтобы узнать, кому принадлежит уведомление, и редактировать их данные. Не играйте с сессиями для этого, это плохой дизайн.