Struppi: SICHERHEIT AUF FIRMENWEBSITE

Beitrag lesen

Ich kann dir nur mal http://www.worldmusic.de/perl/dclpc-faq.txt an's Herz legen.

und empfehle dir die Benutzung des sehr nützlichen Moduls CGI. (auch wenn der böse Wolf das anders sieht ist dieses Modul nicht nur für die Parameterabfrage sondern auch für Tabellen, Formulare und einiges mehr ein überaus sinnvoles Werkzeug - und sein Einwand mit dem delete ist falsch, da ab ; der parameter abgetrennt wird).

ich hab dir mal eine etwas veränderte version mit CGI und nicht der Teilweise veralteten syntax ( '&' ist nicht nötig zum Funktionsaufruf und führt lediglich dazu, das der @_ Paramter weitergereicht wird, den du aber nicht verwendest in deinen Funktionen.)

use CGI qw/:standard -nodebug/;
use strict;

print header(), start_html(-title => 'Test Seite Kesh');

my $user = param('User') || 'test';
my $pfad = "C:/wampp2/htdocs/user/$user/id.dat";
my $sid = param('Session');
my $body = "";

print "$user ($pfad)";

if(!$sid)
{
    $body = h1('Passwort fehlt!')
    . start_form(-action => 'login.html', -method => 'get')
    . submit(-value => 'BACK')
    . end_form()
}
else
{
    print $pfad;
    print $sid;

open(DATEI, $pfad) || die "Kann $pfad nicht öffnen weil: $!";
    my @inhalt = <DATEI>;
    close(DATEI);

my $in = @inhalt[0];
    print @inhalt[0];

if ( $in eq $sid)
    {
        $body= h1('Ahloaheee 123!')
        . start_form(-action => 'login.html', -method => 'get')
        . submit(-value => 'BACK')
        . end_form()
        ;
    }
    else
    {
        $body = h1('Irgendwas läuft hier schief!')
        . start_form(-action => 'login.html', -method => 'get')
        . submit(-value => 'BACK')
        . end_form()
        ;
    }
}
print $body . end_html();

Struppi.