6

文档对此并不完全清楚-这些变量之间有区别吗?至少在 IIS 上它们看起来是相同的,但如果它在其他服务器下可能不同,我不想依赖它。

4

5 回答 5

8

根据 Adob​​e ColdFusion 文档,它们是相同的。

http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Expressions_8.html

看openbd源码,remote_user和auth_user映射到同一个key,所以返回同一个值。

查看 railo 源代码,我不太了解发生了什么,但它似乎正在设置 remote_user,我不确定是否在任何地方设置了 auth_user。

如果您正在设计一个与coldfusion、railo 和openbd 兼容的应用程序,使用remote_user 似乎更安全。也许其他人可以发表评论,因为我没有花时间深入调查就无法完全理解代码。

于 2009-05-12T14:58:43.107 回答
4

REMOTE_USER 和 AUTH_USER 在 Adob​​eCF/IIS 中是相同的,但在 Adob​​eCF/Apache 中不同。使用 Adob​​eCF/Apache 时,AUTH_USER 将为空。

因此最好使用 REMOTE_USER 变量进行编码。如果您发现自己正在编写在 Apache 中引用 AUTH_USER 的代码,有一种方法可以让 Apache 使用 mod_rewrite 填充该变量。这将导致 Apache 将 REMOTE_USER 复制到 AUTH_USER 中:

RewriteCond %{REMOTE_USER} (. ) RewriteRule 上的 RewriteEngine。- [E=AUTH_USER:%1]

这里有更多信息:http: //www.stillnetstudios.com/copying-env-variables-in-apache/

于 2010-01-09T22:03:41.097 回答
2

我相当确定 REMOTE_USER 是标准的 CGI 变量。

根据此页面,它们是相同的:http: //livedocs.adobe.com/coldfusion/6/CFML_Reference/Expressions5.htm

于 2009-05-12T14:24:51.897 回答
2

为了安全起见,请坚持使用 REMOTE_USER,因为它是 CGI/1.0 规范中定义的(在此处找到http://www.ietf.org/rfc/rfc3875

AUTH_USER 似乎随着时间的推移潜入

于 2009-05-15T23:09:05.447 回答
1

根据我的经验,CGI 变量往往会在 Web 服务器(Apache、IIS、JRun 等)之间甚至在它们的版本之间有所不同。当基于 CGI 变量时,唯一安全的选择是检查您的开发、舞台、生产(等)服务器上显示的值。

于 2009-05-12T17:12:34.260 回答