【发布时间】:2010-12-25 10:30:17
【问题描述】:
我正在寻找一种便携式方式来接收(方便的)$_SERVER['PATH_INFO'] 变量。
读了一会儿,原来PATH_INFO 源自 CGI/1.1,我并不总是出现在所有配置中。
获取该变量的最佳(主要是安全方面)方法是什么 - 除了手动提取它(安全问题)。
【问题讨论】:
-
你能澄清一下“便携式”吗? PATH_INFO 由所有现代网络服务器提供。一些较旧的服务器(IIS 是一个很好的坏例子)有问题,但现在在更现代的 PHP 版本下你不应该有问题,可以纠正这些问题。
-
一些服务器配置禁用了 CGI 接口给出的变量。我见过没有
PATH_INFO的现代(apache2.2)Web 服务器。 -
您是否只需要客户端前端的脚本
PATH_INFO?我的意思是,如果您有一个在脚本中调用的脚本来执行一些后端工作,您是否也想要该脚本的 path_info? -
这里唯一明智的做法是要求您的脚本在符合 CGI 1.1 的服务器上运行,并假设
PATH_INFO设置正确。获取该变量的最佳方法是$_SERVER['PATH_INFO']。 -
@Ben - 从理论上讲,您能否将尾随路径重写为脚本可以将其视为 $_['GET'] 的 GET 变量?