7 Einträge, 1 Seite |
if (ref $act{$input->{cmd}} eq 'CODE') { &{$act{$input->{cmd}}} }
1
2
%act = (); # Aktionen mit beschr. Zugang
%pubact = (); # Aktionen für d. öffentlichen Raum.
1
2
3
4
sub Text_loeschen () {
¬Authorized() if (!db->getUserPriv ("te_loeschen"));
#... Befehle für die gewählte Aktion ausführen
}
exit (-1)
1
2
3
4
5
6
7
8
9
10
11
12
1. frage Sessionkey aus Cookie ab, und schau nach, ob ein solcher Benutzer angemeldet ist.
1a. wenn nein, beende das Skript.
1b. wenn ein solcher Benutzer angemeldet ist, frage die GET-Variable cmd ab, und rufe ggf die Funktion f(act{cmd}) auf.
2. Ist f(act{cmd}) eine für alle Benutzer verfügbare Funktion, so führe sie aus.
3. Gibt es Restriktionen für das Ausführen dieser Funktion, so frage nach, ob der Benutzer diese Erlaubnis hat (SessionKey (cookie)->userid (db)/ userid->Rechte(db):
¬Authorized() if (!db->getUserPriv ("loesche_festplatte"));
3a. wenn nein, beende das Kommando.
3b. wenn ja, führe das Kommando aus.
4. zeige das (Ergebnis-)Formular an
$act{$input->{cmd}}
$input->{act} = 'gueltiges_harmloses_cmd}{;system('bösesZeug');}'
eval $input->{cmd};
7 Einträge, 1 Seite |