Apache 向 CGI 传递环境变量
来源:互联网 发布:狄克斯特拉算法思想 编辑:程序博客网 时间:2024/05/23 09:54
Apache 配置文件:
<VirtualHost www.hwx.com> SetEnv VHOST customers SetEnv LD_LIBRARY_PATH /lib:/usr/lib:/usr/local/lib SetEnv HOME test_home SetEnv FUCK /lib:/usr/lib:/usr/local/lib ServerAdmin root@localhost DocumentRoot /var/www/html/www.hwx.com ServerName www.hwx.com ErrorLog logs/www.hwx.com-error_log CustomLog logs/www.hwx.com-access_log common</VirtualHost>
C++ CGI 程序:
/* * test.cpp * * Created on: Jul 12, 2013 * Author: hwx */#include <iostream>#include <stdlib.h>using namespace std;#define ENV_NR5const string ENV[ ENV_NR ] = {"SERVER_SIGNATURE","LD_LIBRARY_PATH","VHOST","HOME","FUCK" };/* * "SERVER_SIGNATURE" 为 CGI 内置环境变量 * "LD_LIBRARY_PATH","VHOST","HOME","FUCK" 为 在 Apache 的配置文件中 * 用 "SetEnv" 指令增加的环境变量,但是 "LD_LIBRARY_PATH" 不能成功获取(见输出) */int main (){cout << "Content-type:text/html\r\n\r\n";cout << "<html>\n";cout << "<head>\n";cout << "<title>CGI Envrionment Variables</title>\n";cout << "</head>\n";cout << "<body>\n";cout << "<table border = \"0\" cellspacing = \"2\">";for ( int i = 0; i < ENV_NR; i++ ){cout << "<tr><td>" << ENV[ i ] << "</td><td>";// attempt to retrieve value of environment variablechar *value = getenv( ENV[ i ].c_str() );if ( value != 0 ){cout << value;}else{cout << "Environment variable does not exist.";}cout << "</td></tr>\n";}cout << "</table>\n";cout << "</body>\n";cout << "</html>\n";return 0;}
页面输出:
SERVER_SIGNATUREApache/2.2.15 (CentOS) Server at www.hwx.com Port 80LD_LIBRARY_PATHEnvironment variable does not exist.VHOSTcustomersHOMEtest_homeFUCK/lib:/usr/lib:/usr/local/lib
LD_LIBRARY_PATH 为什么不能成功获取,笔者还没找到答案...
- Apache 向 CGI 传递环境变量
- CGI 环境变量
- CGI 环境变量
- cgi环境变量
- CGI 环境变量
- CGI 环境变量
- CGI 环境变量
- CGI环境变量
- CGI 环境变量
- CGI 环境变量
- CGI环境变量
- CGI编程---CGI环境变量
- linux+apache+c的cgi总结2环境变量
- Apache服务器技术之CGI环境变量和POST原理
- Apache CGI
- CGI教学:CGI常用环境变量
- 利用环境变量向子进程传递一个参数
- 获取各种CGI环境变量
- hadoop过时了?
- java 获取系统时间错误,少了8小时
- 美丽的英文诗句【2】
- 正确地做事与做正确的事同样重要
- XSS攻击
- Apache 向 CGI 传递环境变量
- spice server mjpeg
- Oracle使用还原段的目的
- Ubuntu下的AT89S52,S51+SDCC+USBASP的开发环境的搭建
- Ubuntu12.04中安装和配置jdk+tomcat+mysql
- 记录iphone
- android 事件的传递
- Leveldb源码分析--20
- linux 网络编程:epoll 的实例