8 |
8 |
9 my ( |
9 my ( |
10 $Daten, $value, $name, $text, $anhang, $input, |
10 $Daten, $value, $name, $text, $anhang, $input, |
11 $q, $key, $wert, $param, %result, $uid |
11 $q, $key, $wert, $param, %result, $uid |
12 ); |
12 ); |
13 my %Formular; |
|
14 my @Formularfelder; |
13 my @Formularfelder; |
15 |
14 my %field; |
16 read( STDIN, $Daten, $ENV{'CONTENT_LENGTH'} ); |
15 read( STDIN, $Daten, $ENV{'CONTENT_LENGTH'} ); |
17 print $Daten; |
|
18 &verarbeiten; |
16 &verarbeiten; |
19 |
17 |
20 sub verarbeiten { |
18 sub verarbeiten { |
21 @Formularfelder = split( /&/, $Daten ); |
19 @Formularfelder = split( /&/, $Daten ); |
22 foreach my $Feld (@Formularfelder) { |
20 foreach my $Feld (@Formularfelder) { |
23 ( $name, $value ) = split( /=/, $Feld ); |
21 ( $name, $value ) = split( /=/, $Feld ); |
24 $value =~ tr/+/ /; |
22 $value =~ tr/+/ /; |
25 $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; |
23 $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; |
26 $value =~ s/\<3D\>/\=/g; |
24 $value =~ s/\<3D\>/\=/g; |
27 $value =~ s/\<25\>/\%/g; |
25 $value =~ s/\<25\>/\%/g; |
28 $value =~ s/\<2B\>/\+/g; |
26 $value =~ s/\<2B\>/\+/g; |
29 $value =~ s/\<26\>/\&/g; |
27 $value =~ s/\<26\>/\&/g; |
30 $Formular{$name} = $value; |
28 $value =~ s/\<n\>/\\n/g; |
|
29 $field{$name} = $value; |
31 } |
30 } |
32 } |
31 } |
33 $uid=$Formular{ID}; |
|
34 chomp$uid; |
|
35 my @test=$Formular{req}; |
|
36 my @schluessel = keys(%Formular); |
|
37 @schluessel = reverse @schluessel; |
|
38 my @values = values(%Formular); |
|
39 @values = reverse @values; |
|
40 |
32 |
41 # Folgend Test-Script |
|
42 |
33 |
43 if ($Formular{req} ne ''){ |
34 #$"=" .:. "; |
44 open (OUT, ">$uid.pem"); |
35 $uid=$field{id}; |
45 print OUT "$Formular{req}"; |
36 chomp ($uid); |
46 close OUT; |
37 open (OUT,">/var/www/tmp/$uid") or die "$!\n"; |
47 } |
|
48 |
|
49 open OUT,">$uid"; |
|
50 print OUT "\@schluessel:\t=\t\@werte:\n"; |
38 print OUT "\@schluessel:\t=\t\@werte:\n"; |
51 print OUT "------------\t\t-------\n\n"; |
39 print OUT "------------\t\t-------\n\n"; |
52 for(my $x=0;$x<=$#schluessel;$x++){ |
40 foreach (sort keys %field) { |
53 print OUT "$schluessel[$x]\t\t=\t$values[$x]\n"; |
41 print OUT "$_:\t\t\t $field{$_}\n"; |
54 } |
42 } |
|
43 print OUT $Daten; |
55 close OUT; |
44 close OUT; |
56 |
45 |
57 my $scp=Net::SCP->new(); |
46 my $scp=Net::SCP->new(); |
58 $scp->scp($uid,'root@192.168.0.138:/var/www/download/'); |
47 $scp->scp("/var/www/tmp/$uid",'root@192.168.0.138:/var/www/download/'); |
59 unlink $uid, "$uid.pem"; |
48 #unlink grep { -M > 3/(24*36) } glob("/var/www/tmp/*"); |
60 __END__ |
49 __END__ |
|
50 |
|
51 #$uid=$Formular{ID}; |
|
52 #chomp$uid; |
|
53 #my @test=$Formular{req}; |
|
54 #my @schluessel = keys(%Formular); |
|
55 #@schluessel = reverse @schluessel; |
|
56 #my @values = values(%Formular); |
|
57 #@values = reverse @values; |
61 |
58 |
62 # Test |
59 # Test |
63 my $x=0; |
60 my $x=0; |
64 open( OUT, ">/var/www/$uid.html" ); |
61 open( OUT, ">/var/www/$uid.html" ); |
65 print OUT ( |
62 print OUT ( |