cgi und sicheres parsing ?
Alain
- perl
0 Sven Rautenberg0 Struppi
hallo, ich wollte wissen,ob es beim pasen auch sicherheits relevante angaben gibt,die man beachten muss? ich hab hier ein beispiel: sub parse_form {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); if (length($buffer) < 5) { $buffer = $ENV{QUERY_STRING}; } @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
Ist diese art parsing gefährlich?
Grüsse vom Alain
Moin!
ich wollte wissen,ob es beim pasen auch sicherheits relevante angaben gibt,die man beachten muss?
sub parse_form {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
[...]
}
Ist diese art parsing gefährlich?
Warum verwendest du nicht einfach das für die Behandlung von CGI-Daten vorgesehene Perl-Modul, wird man dich jetzt fragen wollen.
- Sven Rautenberg
Hallo,
Warum verwendest du nicht einfach das für die Behandlung von CGI-Daten vorgesehene Perl-Modul, wird man dich jetzt fragen wollen.
und wo find ich das vorgegebene Modul?
Gruss vom Alain
---------------
...wenn das gehirn so einfach wäre,wären wir zu dumm um es zu verstehen...
Hallo nochmal,
Warum verwendest du nicht einfach das für die Behandlung von CGI-Daten vorgesehene Perl-Modul, wird man dich jetzt fragen wollen.
ok perl modul kenn ich,aber welches modul würde denn diesem parsen entsprechen?
es kann ja nicht sein dass ein modul wie z.B.
use cgi
Text::ParseWords
genügt oder,um ihm zu sagen,dass $input{$name} = $value; ist?
Gruss vom Alain
Hi,
ok perl modul kenn ich,aber welches modul würde denn diesem parsen entsprechen?
use cgi
Genau dieses. BTW muss es imho use CGI; heißen.
http://selfhtml.teamone.de/cgiperl/module/cgi.htm#formularverarbeitung
Viele Grüße
Torsten
Hallo Torsten,
BTW muss es imho use CGI; heißen.
Jain. Auf Windowssystemen macht das nichts aus, weil beim Suchen von cgi.pm auch CGI.pm gefunden wird; auf UNIX-Systemen sucht Perl eine cgi.pm jedoch vergeblich.
Viele Grüße,
Christian
Ist diese art parsing gefährlich?
keine Ahnung, aber umständlich alles selber machen zu wollen, wenn dafür schon Module vorhanden sind.
schau dir mal das CGI Modul an, das macht das und noch ca. 1 mill andere Sachen die man immer wieder braucht bei der CGI Programmierung.
Zum Beispiel html header, Formulare, Tabellen usw.
Struppi.