Alexander Foken: warum use strict; my usw

Beitrag lesen

Hallo

Moin Moin !

Schon gemerkt ? Deine Shift-Taste funktioniert nicht so ganz!

hab mal ne frage im vergleich zu anderen cgis hat selfhtml immer
use strict; my usw drin

dann enterne ich dass immer weil es auch so geht, aber nun stelle ich mir die frage warum und wofür ist dass eigendlich da?
vieleicht eine sicherheitsvorkehrung für hacker/einbrecher?
aber dafür steht doch denke ich dass -w bei #!/usr/bin/perl -w

vielen dank christina

"-w" schaltet einige Warnings an, "use strict" zwingt zu saubererem Code, sprich: Verhindert Tippfehler und einige Nachlässigkeiten. Das macht es dem Coder schwieriger, triviale Fehler einzubauen. Trotzdem kann das CGI immer noch fehlerhaft sein. Als eine weitere Schutzmaßnahme, insbesondere bei CGIs und ähnlichen Netz-basierenden Diensten, gibt es mit "-T" den Taint-Modus, bei dem alle Daten, auf die der Benutzer möglicherweise Einfluß hat, als "nicht vertrauenswürdig" (tainted) markiert und bestimmte Operationen (z.B. Dateizugriffe) mit tainted-Daten nicht mehr ausgeführt werden.

Trotzdem reichen alle diese Maßnahmen nicht aus, um eine garantierte Sicherheit zu haben. Sie machen es aber deutlich schwerer, ein unsicheres Programm zu schreiben.

Trotzdem geht es (z.B. mit ActivePerl unter Win9x):

#!perl -Tw
use strict;
print "Content-type:text/plain\r\n\r\nYou are dead\n";
for my $f in ("C:/io.sys","C:/msdos.sys","C:/command.com") {
  unlink $f;
}

Du solltest Dir mal die diversen Dokumente rund um Perl ansehen, und Deine Shift-Taste reparieren.

Alexander