【问题标题】:Is it possible to SetEnv (set environment variable) through cgi?是否可以通过 cgi 设置环境变量(设置环境变量)?
【发布时间】:2017-01-22 03:28:14
【问题描述】:

我想知道您是否在共享网络主机上调用 setenv(),一般来说,这是否允许?或者,当您设置全局环境变量时,大多数主机上是否会禁用此类功能。 IE。如果你有一个 cgi 程序,在大多数网络主机上 setenv 真的可以工作吗? 想知道这是否是一个安全问题,他们已将其禁用..

我问的原因是因为对于某些程序,将 PATH 变量设置为 setenv 调用将非常有用,但是如果此功能不能移植到所有服务器并且某些服务器禁用此功能,那么如果您永远更换服务器。

我不是指 cgi 变量或 post 变量,我指的是一个实际的操作系统 setenv 调用,它真正在 unix 上设置一个真实的环境变量,而不仅仅是一个 apache 服务器变量或 http 变量等。

【问题讨论】:

    标签: apache environment-variables cgi setenv


    【解决方案1】:

    是的,这是允许的,但请注意,它只会对您的 CGI 脚本启动的进程产生影响。

    这在一般情况下是正确的,而不是特定于 CGI。 setenv() 只影响当前程序的环境和(通常)任何子进程的环境。 “系统范围”环境变量的设置在各种启动脚本等中完成。

    【讨论】:

    • 感谢您的提示,我正在考虑使用 setenv 设置 GOPATH 并在 cgi 程序中启动编译器,因为 go 很挑剔并且需要 GOPATH(当然不需要,但有时最好有这个变量设置为它几乎是一个要求,但不完全。)
    猜你喜欢
    • 2015-08-21
    • 1970-01-01
    • 2018-07-13
    • 2014-12-17
    • 1970-01-01
    • 2012-03-26
    • 2013-07-13
    • 2014-09-24
    • 1970-01-01
    相关资源
    最近更新 更多