summaryrefslogtreecommitdiffstats
path: root/docs/cgi-examples/printenv.wsf
diff options
context:
space:
mode:
Diffstat (limited to 'docs/cgi-examples/printenv.wsf')
-rw-r--r--docs/cgi-examples/printenv.wsf33
1 files changed, 33 insertions, 0 deletions
diff --git a/docs/cgi-examples/printenv.wsf b/docs/cgi-examples/printenv.wsf
new file mode 100644
index 0000000..d982eac
--- /dev/null
+++ b/docs/cgi-examples/printenv.wsf
@@ -0,0 +1,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>
+