如何在 ColdFusion 2018 中创建自定义 CGI 范围变量
How to create Custom CGI-scope variable in ColdFusion 2018
我继承了一个在 CGI 范围内具有自定义变量的应用程序:
CGI.HTTP_variablename
如何将自定义变量添加到 ColdFusion 中的 CGI 范围(在本例中为 2018 版)。
此变量是组织内部变量,与 CFLDAP 一起用于用户验证,因此无法通过其他方式完成。
我也无权访问 Web 服务器或 ColdFusion 管理员,只能检查它是如何完成的。我只能访问源代码,源代码中没有任何内容可以帮助回答这个问题。
站点本身托管在 IIS 中,但 ColdFusion 管理员 运行 在 TomCat。
谢谢。
CGI 作用域是一个只读结构,不能在您的 CFML 代码中修改。参见:https://helpx.adobe.com/coldfusion/cfml-reference/reserved-words-and-variables/cgi-environment-cgi-scope-variables.html
如果您需要设置自定义 CGI 变量,则需要从网络服务器进行设置,具体取决于您使用的网络服务器。它们通常在 Web 服务器上称为 环境变量。
这本身并不是“自定义变量”。您看到的是 CGI 作用域的一种行为,它允许您通过
的约定访问任何 HTTP 请求 headers
cgi.http_<name of header>
这意味着,例如,您可以访问主机或用户代理
getHTTPRequestData().headers.host
getHTTPRequestData().headers['user-agent']
或
cgi.http_host
cgi['http_user-agent']
同样,可以用相同的方式访问从客户端发送的任何自定义 HTTP headers。
getHTTPRequestData().headers.myCustomHeader
cgi.http_myCustomHeader
我继承了一个在 CGI 范围内具有自定义变量的应用程序:
CGI.HTTP_variablename
如何将自定义变量添加到 ColdFusion 中的 CGI 范围(在本例中为 2018 版)。
此变量是组织内部变量,与 CFLDAP 一起用于用户验证,因此无法通过其他方式完成。
我也无权访问 Web 服务器或 ColdFusion 管理员,只能检查它是如何完成的。我只能访问源代码,源代码中没有任何内容可以帮助回答这个问题。
站点本身托管在 IIS 中,但 ColdFusion 管理员 运行 在 TomCat。
谢谢。
CGI 作用域是一个只读结构,不能在您的 CFML 代码中修改。参见:https://helpx.adobe.com/coldfusion/cfml-reference/reserved-words-and-variables/cgi-environment-cgi-scope-variables.html
如果您需要设置自定义 CGI 变量,则需要从网络服务器进行设置,具体取决于您使用的网络服务器。它们通常在 Web 服务器上称为 环境变量。
这本身并不是“自定义变量”。您看到的是 CGI 作用域的一种行为,它允许您通过
的约定访问任何 HTTP 请求 headerscgi.http_<name of header>
这意味着,例如,您可以访问主机或用户代理
getHTTPRequestData().headers.host
getHTTPRequestData().headers['user-agent']
或
cgi.http_host
cgi['http_user-agent']
同样,可以用相同的方式访问从客户端发送的任何自定义 HTTP headers。
getHTTPRequestData().headers.myCustomHeader
cgi.http_myCustomHeader