如何用Python(mod_wsgi)获取Apache下的PHP会话内容?

0 投票
2 回答
539 浏览
提问于 2025-04-15 14:45

有没有办法在一个用 mod_wsgi 的 Python 脚本中获取 PHP 会话变量 $_SESSION['user_id'] 的内容?我在后台运行一个脚本,用来判断用户是否可以继续查看文档。

我想做的事情大概是这样的:

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

请不要这样做:

if allow_access:
    return True
else:
    return False

你可以这样做:return allow_access

3

如果可以做到,那也不简单;Apache会把会话变量以一种特殊的格式存储在文件里。

你最好的办法可能是写一个PHP页面,专门用来打印所有的会话变量。(可以把它设置成只允许本地访问。)然后在你的Python脚本中打开这个页面的链接。记得在请求的链接中加上会话信息的头部。最后,当这个PHP页面在Python中加载完毕后,就可以解析里面的内容了。

撰写回答