Regina Schaukrug: Moderne Altenative zu index.php

Beitrag lesen

problematische Seite

Wären aus Perl ein paar Funktionen rausgeflogen, dann wäre DAS vielleicht nicht möglich.

Welche denn?

Beginnen wir "ganz BASIC" mit

  • open()

Das verführt zu etwas wie open($FH, ">$file");

Nur ist eben in Linux jedes Zeichen außer NUL, also auch das '>'-Zeichen in Dateinamen erlaubt. Mit der Folge, dass mit $file = '>inputdatei' etwas wie open($FH, ">>inputdatei"); herauskommt.

Example:

#!/usr/bin/perl -w

$s='Hallo Welt';
$file='>test.txt'; # in der Realität z.B. aus dem Dateisystem ausgewählt, Benutzereingabe, weiß der Schwarze woher 
open ($FH, ">$file");
print $FH $s;
close $FH;
~> ./test.pl
~> cat test.txt
Hallo Welt!
~> ./test.pl
~> cat test.pl
Hallo Welt!Hallo Welt!

Eigentlich sollte der Dateiinhalt in der Datei '>test.txt' ersetzt und nicht angehangen werden... Es gibt aber nicht mal eine Warnung. Lösung wäre open() durch eine Funktion zu ersetzen, welche den Modus explizit als Parameter verlangt und nicht derart 'slappy' als Teil des Dateinamens zulässt.

0 94

Moderne Altenative zu CGI.pm

pl
  • perl
  1. 1
    Christian Kruse
    1. 0
      pl
      1. 1
        Christian Kruse
        1. 0
          pl
          1. 1
            Christian Kruse
          2. 1
            Matthias Apsel
            1. 0
              Tabellenkalk
          3. 3
            Patrick C.
            1. -2
              pl
              1. 1
                Christian Kruse
              2. 2
                Patrick C.
                1. 0
                  pl
                  1. 0
                    Patrick C.
                    1. 0
                      pl
                      1. 1
                        Christian Kruse
                      2. 0
                        Patrick C.
                      3. 0
                        Regina Schaukrug
              3. 4
                Camping_RIDER
  2. 0
    pl
  3. 2

    Moderne Altenative zu index.php

    plp
    1. -1
      pl
      1. 0
        Regina Schaukrug
        1. 0
          pl
          1. 0
            Regina Schaukrug
            1. 0
              pl
              1. 0
                Regina Schaukrug
                1. 0
                  Christian Kruse
                  1. 0
                    Regina Schaukrug
                    1. 0
                      Christian Kruse
                      1. 0
                        Regina Schaukrug
                        1. 0
                          Camping_RIDER
                          1. 0
                            Regina Schaukrug
                            • sonstiges
                            1. 0
                              Camping_RIDER
                              1. 0
                                Regina Schaukrug
                                1. 0
                                  Camping_RIDER
                                2. 0
                                  Camping_RIDER
                                  1. 0
                                    Regina Schaukrug
                                    1. 0
                                      Camping_RIDER
                                      1. 0
                                        Regina Schaukrug
                2. 0
                  pl
                  1. 0
                    Regina Schaukrug
                    1. 0
                      pl
                    2. 0
                      pl
                      1. 0
                        dedlfix
    2. 1
      Rolf B
  4. 0
    pl
  5. 0
    Felix Riesterer
    1. 0
      pl
      1. 0
        Patrick C.
        1. 0
          pl
          1. 0
            Patrick C.
      2. 0
        beatovich
      3. 0
        Felix Riesterer
        • meinung
        • perl
        • zur info
        1. 0
          pl
        2. 0

          Wie reden wir denn miteinander

          pl
          1. 2
            Christian Kruse
          2. 0
            pl
            1. 0
              Regina Schaukrug
            2. 0
              Christian Kruse
  6. 0
    Camping_RIDER
    1. 0
      pl
      1. 0
        Camping_RIDER
        1. 0
          pl
          1. 0
            Camping_RIDER
            1. 0
              pl
              1. 0
                Camping_RIDER
                1. 0
                  pl
                  1. 0
                    Camping_RIDER
                    1. 0
                      pl
                      • perl
                      • programmiertechnik
                      1. 0

                        Mehrwert und Transparenz

                        pl
                        1. 0
                          dedlfix
                          1. 0
                            pl
                          2. 0
                            pl
      2. 1
        Christian Kruse
        • programmiertechnik
        1. 0
          pl
          1. 0
            Christian Kruse
            1. 0
              pl
              1. 0
                Christian Kruse
                1. 0
                  pl
                  1. 0
                    Christian Kruse
                  2. 0
                    1unitedpower
                    1. 0
                      pl
                      1. 0
                        1unitedpower
                        1. 0
                          pl
                          1. 0
                            1unitedpower
                            1. 0
                              pl
                  3. 0
                    beatovich
                    1. 0
                      pl
            2. 0
              pl
              1. 0
                Matthias Apsel
                • menschelei
              2. 0
                Christian Kruse
      3. 0
        beatovich
        1. 0
          pl