steckl: sicherheit bei perl/cgi skript mit Anmeldefunktion

Beitrag lesen

hallo,

erstmal danke fuer die (wie immer) schnelle antwort

  • ist das Loesungskonzept einigermassen sicher?

Ja, sieht so aus.

:-)

  • Waere es ein Sicherheitsrisiko, die Login-Daten und/oder die SID in Cookies abzuspeichern?
    Wenn das Cookie clientseitig nicht akzeptiert wird, besteht keine Möglichkeit der Zuordnung.

Ist es den Aufwand wert, eine Fallunterscheidung einzubauen?

  • ist die SID eindeutig, bzw. nicht von aussen nachvollziehbar oder leicht knackbar?

Christian Kruse hatte mir mal eine Subroutine zur Verfügung gestellt:

sub _create_SID {

my $rmid = $ENV{HTTP_X_FORWARDED_FOR} || $ENV{REMOTE_ADDR} || '654.546.654.546';
  $rmid =~ tr/./0/;
  $rmid = pack("a[12]",$rmid);
  my @chars = split // => 'aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789-';
  my $id = '';
  $id .= $chars[$
] foreach split // => $rmid;
  $id .= $chars[rand @chars] for 1..4;
  return $id;
}

heisst das, dass meine routine unsauber ist? oder ist das nur eine andere alternative dazu?  

> Die scheint mir relativ sicher zu sein, zum Einsatz kommt sie bei mir in [diesem Package](http://test.anaboe.net/DB_Session.txt).  

Wie ich sehe verwendest du fuer die Verwaltung der SID keine Files sondern eine Datenbank.  
Das ist schneller, als ein Textfile, oder? und wohl noch etwas sicherer?  
Sollte ich wohl auch so machen.  
  
und noch ne Frage zu deinem Modul:  
du verwendest in jeder routine mit DB-zugriff DB\_connect() und DB\_close(). waere es nicht besser die Datenbank gleich am anfang zu verbinden, dann ein Db-Handle an die einzelnen Subroutinen zu uebergeben und erst am Schluss die Verbindung wieder zu trennen? Kann aber auch gut sein, dass ich hier falsch liege.  
  

> > - gibt es sonst noch irgendetwas zu beachten?  
>   
> Ja, es gibt eine [Latte von Session-Modulen auf cpan.org](http://search.cpan.org/search?query=Session&mode=all), vielleicht nehmen die dir ein Stück Arbeit ab.  

zu spaet ... hab ja schon alles ausprogrammiert. Aber war ne gute Uebung ;)  
  
danke,  
steckl