例子:用getenv函数获取各种CGI环境变量

cgi|变量|函数

<?
$array = array(
               "REMOTE_ADDR",
               "DOCUMENT_ROOT",
               "GATEWAY_INTERFACE",
               "SERVER_SOFTWARE",
               "SERVER_NAME",
               "SERVER_PROTOCOL",
               "SERVER_PORT",
               "SERVER_ADMIN",
               "SERVER_SIGNATURE",
               "REQUEST_METHOD",
               "REQUEST_URI",
               "PATH_INFO",
               "PATH_TRANSLATED",
               "SCRIPT_NAME",
               "SCRIPT_FILENAME",
               "QUERY_STRING",
               "REMOTE_HOST",
               "REMOTE_ADDR",
               "REMOTE_USER",
               "REMOTE_IDENT",
               "CONTENT_TYPE",
               "CONTENT_LENGTH",
               "HTTP_ACCEPT",
               "HTTP_ACCEPT_CHARSET",
               "HTTP_ACCEPT_LANGUAGE",
               "HTTP_ENCODING",
               "HTTP_USER_AGENT",
               "HTTP_CONNECTION",
               "HTTP_HOST",
               "HTTP_REFERER",
               "AUTH_TYPE"
              );

echo '<center>';
echo '<table border="1" cellspacing="0" cellpadding="0">';
echo '<caption>CGI Environment Variables</caption>';
echo '<tr><th>Name<th>Value</tr>';

$count = count($array);
for($i=0;$i<$count;$i++){
   $value = getenv($array[$i]);
   if($value){
      echo "<tr><td>$array[$i]<td>" . $value . "</tr>";
   }
//下面的语句也可以哦
//   if(isset($$array[$i])){
//      echo "<tr><td>$array[$i]<td>" . $$array[$i] . "</tr>";
//   }
}

echo '</table>';
echo '</center>';
?>

时间: 2024-12-04 18:35:05

例子:用getenv函数获取各种CGI环境变量的相关文章

JSP例程 - 获取各种CGI环境变量

cgi|js|变量 <%--作者:何志强[hhzqq@21cn.com]日期:2000-09-19版本:1.0功能:JSP例程 - 获取各种CGI环境变量--%> <%@ page session="false" import="java.util.*" %> <%!Enumeration enumNames;String strName,strValue;%> <html><head><meta h

JSP例程 - 获取各种CGI环境变量(1.1版本)

cgi|js|变量 <%--作者:何志强[hhzqq@21cn.com]日期:2000-09-19版本:1.1功能:JSP例程 - 获取各种CGI环境变量--%> <%@ page session="false" import="java.util.*" %> <%String strEnvs[][] =         {            {"CONTENT_LENGTH",String.valueOf(re

HTTPOXY -- CGI 环境变量劫持漏洞分析

0x00 前言         昨晚,一个名为 HTTPOXY 的漏洞在安全圈内广泛传播.云盾攻防对抗团队第一时间对此漏洞进行了深入分析,发现其本质是一个 CGI 环境变量劫持漏洞,对 CGI 的环境变量 HTTP_PROXY 变量进行劫持.如果 CGI 在运行过程中依赖 HTTP_PROXY,那么攻击者将能够获取到程序敏感数据,甚至伪造返回包对 CGI 程序实现欺骗. 0x01 漏洞分析          这个漏洞实际上 CGI 程序对变量命名不规范导致的.CGI 程序在接收到 HTTP He

Perl CGI环境变量列表

Perl CGI 环境变量会因为服务器的不同而有所区别.所以本内容不一定和你的WEB 服务器相完全符合. 以下的内容以字母排序: 1. AUTH_TYPE 如果服务器支持基本的认证并且如果脚本被保护,此变量提供认证类型,此信息是特定于协议和服务器的. 2. CONTENT_LENGTH 如果通过 POST 方法的请求中包括数据,此变量的值为此请求中合法数据的长度. 3. CONTENT_TYPE 如果请求中包括数据,此变量指定数据类型的类别. 4. DOCUMENT_ROOT 网络提供的文件服务

2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量

 1进程环境 libc中定义的全局变量environ指向环境变量表,environ没有包含在任何头文件中,所以在使用时要用extern声明.例如: 运行结果: 2.env命令可以查看进程信息 3.echo $环境变量名  得出环境变量的值 4getenv() A依赖头文件 #include<stdlib.h> B函数声明 char *getenv(constchar *name); 用environ指针可以查看所有环境变量字符串,但是不够方便,如果给出name要在环境变量表中查找它对应的v

getenv、setenv函数 获取和设置系统环境变量

getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include<stdlib.h> 定义函数 char * getenv(const char *name); 函数说明 getenv()用来取得参数name环境变量的内容.参数name为环境变量的名称,如果该变量存在则会返回指向该内容的指针.环境变量的格式为name=value. 返回值:执行成功则返回指向该内容的指针,找不到符合的环境变量名称则返回NULL. 范例   ? #include

Powershell获取环境变量的方法_PowerShell

Powershell中获取一个Windows环境变量,简单一点就是使用"env:"前缀: 复制代码 代码如下: PS> $env:windir C:\Windows PS> $env:USERNAME Tobias 实际上"env:"是一种驱动,所以你能查询到大多或部分环境变量.下面将显示全部的名字中包含user的环境变量: 复制代码 代码如下: PS> dir env:\*user* Name                          

Visual Studio 2008 、 Windows 环境变量介绍 和 如何在文件中引用环境变量 .

Visual Studio 2008  和 Windows 环境变量对设置 相对路径很重要,这样便于代码的移植,即使换一台计算机,代码不用更改配置,直接就能用. 可以在项目的"工具""属性页"对话框中任何接受字符串的位置使用这些宏.这些宏不区分大小写.  关于如何自己定义环境变量详见我的另一文章:http://blog.csdn.net/jtop0/article/details/7574139     宏 说明 $(RemoteMachine) 在"调试

dos 环境变量延迟扩展enabledelayedexpansion详解_DOS/BAT

一,什么是延迟环境变量扩展? 延迟变量全称"延迟环境变量扩展",要理解这个东西,我们还得先理解一下什么叫变量扩展!   CMD在解释我们的命令的时候,首先会读取一条完整的命令,然后对其进行一些命令格式的匹配操作,看你所输入的 命令格式是不是符合它的要求.如果我们要在命令中引用一些变量,那么我们如何让CMD在解释我们的命令时,能识别 出这个变量呢?这时我们就可以在变量名字两边加一个%号,如%name%.当CMD在读取我们的整条命令进行格式匹配的时 候,就会发现name这个字符两边加了%号