Поймать содержимое сессии PHP под Apache с Python (mod_wsgi)? - PullRequest
0 голосов
/ 02 октября 2009

Есть ли способ перехватить содержимое переменной сеанса PHP $_SESSION['user_id'] с помощью mod_wsgi скрипта Python? Я запускаю сценарий в фоновом режиме, который решит, сможет ли пользователь перейти к просмотру документа.

Я бы хотел сделать что-то вроде этого:

def allow_access(environ, host):
    allow_access = False

    if environ['SCRIPT_NAME'] == 'forbidden_dir':
        if session['user_id'] == '1':
            allow_access = True

    if allow_access:
        return True
    else:
        return False

Возможно ли это?

Ответы [ 2 ]

3 голосов
/ 02 октября 2009

Если это возможно, это не легко; apache хранит переменные сеанса в файлах в специальном формате.

Ваш лучший вариант - написать страницу php, которая печатает все переменные сеанса. (Жесткий код, чтобы он служил только локальному хосту.) Откройте URL-адрес этой страницы из скрипта Python. Добавьте заголовок к запросу URL с информацией о сеансе. Затем, после загрузки страницы php в Python, проанализируйте ввод.

2 голосов
/ 02 октября 2009

пожалуйста, не делайте этого:

if allow_access:
    return True
else:
    return False

когда вы можете сделать: return allow_access.

...