From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../Praktikum4/cgi-bin/CgiTest.exe | Bin 0 -> 110592 bytes .../Praktikum4/cgi-bin/Echo.pl | 71 +++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/CgiTest.exe create mode 100644 Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/Echo.pl (limited to 'Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin') diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/CgiTest.exe b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/CgiTest.exe new file mode 100644 index 0000000..37df33d Binary files /dev/null and b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/CgiTest.exe differ diff --git a/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/Echo.pl b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/Echo.pl new file mode 100644 index 0000000..7de1fec --- /dev/null +++ b/Bachelor/Entwicklung webbasierter Anwendungen/Praktikum4/cgi-bin/Echo.pl @@ -0,0 +1,71 @@ +#!C:/apachefriends/xampp/perl/bin/perl.exe -w + +#!C:/apache/Perl/nsperl.exe -w +# Die 1. Zeile ist die Shebang-Zeile und enthält den Pfad zum Perl-Interpreter + +## echo.pl +## Dieses Perl-Skript schickt Formulardaten an den Client zurück +## Bernhard Kreling, 26.4.2002 + +# HTTP-Header für Antwort an Browser: +print "Content-type: text/html\n\n"; + +# HTML-Datei schreiben: +print '', "\n"; +print "\n"; +print "\n"; +print " CGI-Formular-Echo\n"; +print "\n"; +print "\n"; +print "

Formular-Echo

\n"; +print "

Sie haben folgende Formulardaten mit der Methode "; + +# Formulardaten übernehmen abhängig von der Request-Methode: +my $ParameterString; +if ($ENV{'REQUEST_METHOD'} eq 'GET') +{ + print "GET"; + $ParameterString = $ENV{'QUERY_STRING'}; +} +elsif($ENV{'REQUEST_METHOD'} eq 'POST') +{ + print "POST"; + read(STDIN, $ParameterString, $ENV{'CONTENT_LENGTH'}); + # auf mmlab erscheint die Meldung "HTTP/1.1 100 Continue" - warum auch immer... +} +print " übermittelt.

\n"; + +# Formulardaten als undekodierten String zurücksenden: +print "

ParameterString:
$ParameterString

\n"; + +# Formulardaten in einzelne Parameter zerlegen mit '&' als Trenner: +my @ParameterListe = split(/&/, $ParameterString); + +print "

Einzelne Parameter:
\n"; +my $Parameter; +foreach $Parameter (@ParameterListe) +{ + # Parameter in Name und Wert zerlegen mit '=' als Trenner: + my $Name; + my $Wert; + ($Name, $Wert) = split(/=/, $Parameter); + + # Leerstellen restaurieren ('+' ersetzen durch ' '): + $Wert =~ tr/+/ /; + + # Hex-Codes %xx umwandeln in Character: + $Wert =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C" , hex($1))/eg; + + # HTML-Sonderzeichen '&', '<', '>' kodieren: + $Wert =~ s/&/&/; + $Wert =~ s//>/; + + # Parameter ausgeben in HTML-Datei: + print "$Name = $Wert
\n"; +} + +# HTML-Datei abschliessen: +print "

\n"; +print "\n"; +print "\n"; -- cgit v1.2.3