AUTH_USER 和 REMOTE_USER cgi 变量之间的区别
-
21-08-2019 - |
题
文档对此并不完全清楚 - 这些变量之间有区别吗?至少在 IIS 上它们看起来是相同的,但如果在其他服务器下可能有所不同,我不想依赖这一点。
解决方案
据到Adobe ColdFusion文档它们是相同的。
http://livedocs.adobe.com/的ColdFusion / 8 / HTMLDOCS / help.html?含量= Expressions_8.html
综观openbd源代码,REMOTE_USER和AUTH_USER被映射到相同的密钥,所以它返回相同的值。
纵观railo源代码,我不太理解到底是怎么回事,但它似乎被设置REMOTE_USER,我不知道,如果AUTH_USER被设置在任何地方。
如果你正在设计一个应用程序,是使用ColdFusion,railo和openbd兼容,它似乎更安全的使用REMOTE_USER。也许别人可以发表评论,因为我不完全理解的代码,而无需花时间深入调查。
其他提示
和REMOTE_USER AUTH_USER将在AdobeCF /阿帕奇在AdobeCF / IIS相同的,但不是。使用AdobeCF / Apache的时候AUTH_USER将是空白。
所以最好的代码使用REMOTE_USER变量。如果你发现自己工作代码引用AUTH_USER在Apache中,有一种方法可以让Apache使用mod_rewrite填充该变量。这将导致阿帕奇REMOTE_USER复制到AUTH_USER:
RewriteEngine叙述上 的RewriteCond%{REMOTE_USER}() 。重写规则 - [E = AUTH_USER:%1]
有更多的信息在这里: HTTP://www.stillnetstudios。 COM /复制-ENV-变量 - 在-阿帕奇/
我确信REMOTE_USER是标准CGI变量。
根据这个页,它们是相同的: http://livedocs.adobe.com/coldfusion/6/CFML_Reference/Expressions5。 HTM
为了安全起见,请坚持使用 REMOTE_USER,因为它是 CGI/1.0 规范中定义的(在此处找到) http://www.ietf.org/rfc/rfc3875)
AUTH_USER 似乎随着时间的推移而潜入
在我的经验,CGI变量倾向于网络服务器(Apache的,IIS的JRun等),甚至它们的版本之间的不同。唯一安全的赌注,在CGI变量基础东西的时候,是检查什么值出现在你的开发,阶段,生产(ETC)的服务器。