]> granicus.if.org Git - apache/commitdiff
Added Windows CGI samples.
authorGuenter Knauf <fuankg@apache.org>
Thu, 13 Dec 2012 10:04:51 +0000 (10:04 +0000)
committerGuenter Knauf <fuankg@apache.org>
Thu, 13 Dec 2012 10:04:51 +0000 (10:04 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1421184 13f79535-47bb-0310-9956-ffa450edef68

docs/cgi-examples/printenv.vbs [new file with mode: 0644]
docs/cgi-examples/printenv.wsf [new file with mode: 0644]

diff --git a/docs/cgi-examples/printenv.vbs b/docs/cgi-examples/printenv.vbs
new file mode 100644 (file)
index 0000000..ba8bcbc
--- /dev/null
@@ -0,0 +1,29 @@
+'
+
+' To permit this cgi, replace ' on the first line above with the
+' appropriate shebang, f.e. '!c:/windows/system32/cscript -nologo
+'
+' Note that it is subject to cross site scripting attacks on MS IE
+' and any other browser which fails to honor RFC2616, so never use
+' it in a live server environment, it is provided only for testing.
+
+''
+''  printenv -- demo CGI program which just prints its environment
+''
+Option Explicit
+
+Dim objShell, objArray, str, envvar, envval
+Set objShell = CreateObject("WScript.Shell")
+Set objArray = CreateObject("System.Collections.ArrayList")
+
+WScript.StdOut.WriteLine "Content-type: text/plain; charset=iso-8859-1" & vbLF
+For Each str In objShell.Environment("PROCESS")
+  objArray.Add str
+Next
+objArray.Sort()
+For Each str In objArray
+  envvar = Left(str, InStr(str, "="))
+  envval = Replace(Mid(str, InStr(str, "=") + 1), vbLF, "\n")
+  WScript.StdOut.WriteLine envvar & Chr(34) & envval & Chr(34)
+Next
+
diff --git a/docs/cgi-examples/printenv.wsf b/docs/cgi-examples/printenv.wsf
new file mode 100644 (file)
index 0000000..c70b9a6
--- /dev/null
@@ -0,0 +1,30 @@
+'
+
+' To permit this cgi, replace ' on the first line above with the
+' appropriate shebang, f.e. '!c:/windows/system32/cscript -nologo
+'
+' Note that it is subject to cross site scripting attacks on MS IE
+' and any other browser which fails to honor RFC2616, so never use
+' it in a live server environment, it is provided only for testing.
+
+''
+''  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>
+