Thread eMail-Formular mit Bild(ern) als Anhang (18 answers)
Opened by Platten-Spieler.de at 2018-07-31 17:28

rosti
 2018-08-01 18:34
#188723 #188723
User since
2011-03-19
2725 articles
BenutzerIn
[Homepage]
user image
Quote
Für ein reines CGI-Skript, dass in einem "cgi-bin" Verzeichnis eines vorkonfigurierten Webservers laufen soll, welche Alternativen hat man zu CGI.pm?


Die Antwort liefert der Fakt, daß Browser bis heute nur 2 Content-Types kennen:

Enctype application/x-www-form-urlencoded und multipart/form-data

Wobei der erste der Default ist und den zu parsen kein CGI.pm erfordert, da reicht untenstehende Funktion:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Public und unabhängig verwendbar
# application/x-www-form-urlencoded
sub qparse{
    my $self    = shift;
    my $rawdata = shift;
    my %param = ();
    # Punkte in Parameternamen erlauben
    my @pie = split /[;&]/, $rawdata;
    foreach my $p(@pie){
        my ($pname, $val) = split(/=/, $p, 2);
        next unless $pname;
        next unless defined $val;
        $val =~ s/\+/ /g;
        $val =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
        push @{$param{$pname}}, $val;
    }
    return \%param;
}


und fast derselbe Code wurde hier im Thread auch schon gepostet. Der CGI/1.1 Standard definiert lediglich, wo die Daten zu lesen sind, ist $ENV{CONTENT_LENGTH} > 0, in STDIN ansonsten in $ENV{QUERY_STRING}.

MfG
Last edited: 2018-08-01 18:37:04 +0200 (CEST)

View full thread eMail-Formular mit Bild(ern) als Anhang