Alain: cgi und sicheres parsing ?

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;

$input{$name} = $value;    }

Ist diese art parsing gefährlich?

Grüsse vom Alain

--
...
  1. 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

    --
    ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|
    1. 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...

      1. 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

        --
        ...wenn das gehirn so einfach wäre,es zu vestehen,
        wären wir zu dumm um es zu begreifen...
        1. 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

          --
          Wäre Stoizismus eine Programmiersprache, würde ich ein Experte sein.
          1. 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

  2. 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.