2010-05-23 2 views
7

Возможно ли в PHP редактировать другой сеанс пользователя, отличный от текущего пользователя? Если да, то как?Редактировать сеанс других пользователей в PHP

+0

Конечно, вы можете вручную называть свои сеансы, предоставить PHP полный доступ ко временной папке, где хранятся сеансы, и уничтожить безопасность вашего сайта! – animuson

+0

Нет смысла делать это, почему бы вам не разделить двух пользователей одним и тем же сеансом ?, один сеанс на пользователя, это все, что вам нужно, – Ben

+1

@Ben: Возможно, он хочет, чтобы его сеанс администратора был доступен всем, кто посещает его веб-сайт без необходимости знать пароль? – animuson

ответ

10

можно редактировать другой сеанс пользователей в PHP через несколько способов:

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

    session_id($SessionID); 
    
    // and then enter code your logic to change session data here; 
    
  2. Если вы храните данные сессии в базе данных, то это было бы еще легче манипулировать данные непосредственно в базе данных, которая будет обновлять сеанс пользователя, когда приложение будет запрашивать данные снова.

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

+0

Возможно ли получить доступ к чужой сессии с помощью 'session_id()'? Я думал, что функция просто используется для изменения идентификатора сеанса текущего сеанса для определенного пользователя. – BoltClock

+2

Да, это можно сделать, но единственное, что вернет обратно session_id() вашим текущим пользователям, является session_id(), иначе это будет большой беспорядок. Итак, вам нужно закодировать следующим образом: - резервное копирование ваших текущих пользователей session_id - инициализировать сеанс с session_id пользователя, для которого вы хотите изменить данные. - логика для изменения данных - сброс session_id к фактическому идентификатору пользователя из резервной копии, которую вы сделали. Я думаю, это должно работать :) – Dharmavir

3

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

В любом случае, я сделал веб-программирование всего 5 месяцев. , поэтому я не уверен, что я сказал.

Смежные вопросы