【发布时间】:2009-10-02 13:53:44
【问题描述】:
有没有办法使用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
有可能吗?
【问题讨论】:
-
你在服务器上同时使用php和python吗?
-
仅供参考。 SCRIPT_NAME 在 mod_wsgi 访问挂钩中不可用。您需要在 Apache 配置中使用 Location 指令来限制对特定 URL 上下文的访问挂钩。
-
SilentGhost:是的,应用程序是用PHP编写的,因为我是在开始编写应用程序后开始学习Python的。
-
Graham:你能给我指点关于使用 access hook 的教程吗?官方文档没有提供太多信息:)
-
Location 和 Directory 指令是 Apache 指令,因此您需要查看 Apache 文档了解如何使用 Location 指令。顺便说一句,您也不应该在访问挂钩中检查 REQUEST_URI,因为它是未处理的形式,并且如果期望它始终是某个值,除非您要先对其执行所有 HTTP 解码,否则对它的任何检查都可能失败。如果您觉得可用的文档还不够,请使用从 mod_wsgi 网站引用的 Google 组上的官方 mod_wsgi 列表提出问题。