summaryrefslogtreecommitdiff
path: root/docs/cgi-examples/printenv.wsf
blob: d982eac21f660b25c620e164dc1ea01d227d84d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
'

' To permit this cgi, replace ' on the first line above with the
' appropriate shebang, f.e. '!c:/windows/system32/cscript -nologo
'
' ***** !!! WARNING !!! *****
' This script echoes the server environment variables and therefore
' leaks information - so NEVER use it in a live server environment!
' It is provided only for testing purpose.
' Also note that it is subject to cross site scripting attacks on
' MS IE and any other browser which fails to honor RFC2616. 

''
''  printenv -- demo CGI program which just prints its environment
''
<job>
<script language="JScript">
  WScript.Echo("Content-type: text/plain; charset=iso-8859-1\n");
  var objShell = new ActiveXObject("WScript.Shell");
  var objArray = new Array();
  var e = new Enumerator(objShell.Environment("PROCESS"));
  for (;!e.atEnd();e.moveNext()) {
    var i = e.item().indexOf("=");
    var envvar = e.item().substring(0, i);
    var envval = e.item().substring(i + 1, e.item().length);
    envval = envval.replace("\n", "\\n");
    objArray.push(envvar + "=\"" + envval + "\"");
  }
  objArray.sort();
  WScript.Echo(objArray.join("\n"));
</script>
</job>