Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von richard (1187 Beiträge) am Samstag, 9.Juli.2005, 21:48. WWW: posaunenchor-rhoden.de
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Denke, da mußte mal bei selfhtml unter Formularen und da bei versteckten Elementen suchen. Das ist eigentlich ganz simples html.

      Grundätzlich funktioniert das hidden-Feld wie jedes andere Formularfeld auch, nur daß der User da nicht dran kann. Beim abschicken des Formulars durch den User wird der Wert übergeben, der bei value eingetragen ist. Auf diesen Wert zugreifen kannst Du genauso wie auf jeden anderen per Formular/Post übergebenen Inhalt. Falls das noch nicht klar ist, zeig nochmal den Teil Deines Skripts, wo Du die Formulardaten auswertest. Hast Du dem hidden-Feld überhaupt einen Wert zugewiesen?

      Für das hier anstehende Problem besteht auf den ersten Blick vielleicht die Besonderheit,daß dieser Wert für das hidden-Feld bereits beim Aufbau des Formulars festgelegt wird und bereits "fertig" beim Browser ankommt, dort nicht verändert wird und so wie angekommen auch wieder abgeschickt wird.

      <Auf dem Server befindet sich eine Liste/Datenbank der bereits vergebenen TAN-Nummern, mit denen sich User angemeldet haben.>
      

      Das hat nichts mit dem Feldtyp hidden zu tun, sondern ist eine ganz normale Datenbank wie jede andere auch. Statt Namen stehen da halt Nummern drin. Du mußt diese Datenbank selber anlegen und mit den benutzten TAN-Nummern füllen.


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Claus (4645 Beiträge) am Donnerstag, 7.Juli.2005, 19:24.
    @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))


      Hallo Sander,

      bei dem Browser-back hattest Du unter anderem geschrieben:

      <wenn du die daten nicht mit get sondern post übergibst, wird versucht die seite neu zu laden. is zwar blöd jedesmal statt einem link ein form zu bauen, aber es ist sicherer (bei fast allen browsern).>
      

      Nachdem ich den ganzen Kram dank Deiner und Christoph's Hilfe realisiert habe, bin ich auf die nächste Schweinerei im IE von dem "amerikanischen Garagen-Dagobert" gestoßen.

      Irgendwann, nachdem Du oft genug auf "zurück" geklickt hast, bekommst Du dann folgende Meldung:

      Achtung: Seite ist nicht mehr gültig Die angeforderte Seite wurde mit Hilfe von Informationen erstellt, die von Ihnen in einem Formular mitgeteilt wurden. Diese Seite ist nicht mehr verfügbar. Als Sicherheitsmaßnahme übermittelt Internet Explorer solche persönlichen Informationen nicht automatisch erneut.


      Falls Sie die Seite ansehen und die Informationen erneut mitteilen möchten, klicken Sie auf Aktualisieren.

      Kaum geschehen, meldet sich dieser "Schei.." an und loggt sich ein. Wahrscheinlich werden die Daten in der index.dat des jeweiligen users gespeichert, obwohl sie in den temp_int_files nicht mehr auftauchen.

      Bleibt also die Erkenntnis, in neuem Fenster öffnen und den jeweiligen user auffordern, dieses nach dem Logout zu schließen. Kann man zwar auch per javascript machen, aber was, wenn der user das deaktiviert hat;-)

      Wollte das nur mal als feedback zurückgeben.

      Gruß

      Claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 8.Juli.2005, 11:46.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      nein, dazu gibt es die TAN (Transaktionsnummer), am besten eine zufallszahl mit datum/zeit drin - die kann nur einmal vorkommen. Mit dem login wird eine TAN übergeben und abgespeichert. wird die selbe TAN später nochmal benutzt, ist das formular ein 2tes mal versandt worden und die gewünschte aktion wird unterbunden und der login findet nicht statt.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Freitag, 8.Juli.2005, 12:43. WWW: automobilhai.de
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      Hallo Sander,

      werde das mal probieren. Da die user allerdings nicht nur einmaligen Zugriff haben sollen, werde ich das wohl in einem "Keks" speichern, der nach schließen des Fensters entfernt wird.

      Danke!

      Gruß

      Claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 8.Juli.2005, 13:29.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      sagt doch keiner, das die nicht mehrmals drauf zugreifen können. es geht nur nicht, indem man das formular ein 2tes mal absendet, ohne es neu geladen zu haben.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Freitag, 8.Juli.2005, 15:27.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      Hallo Sander,

      Die ganze Geschichte läuft im Prinzip auf ein "Members only" Teil hinaus. Die Daten werden nach dem Login durchgeschleift und man kann auf alle passwortgeschützten Seiten über entsprechende Links zugreifen. Nach dem Logout kommt bei der Betätigung vom Browser-back immer wieder" melden Sie sich an". Dann erscheint irgendwann dieses "klicken sie auf aktualisieren-Teil" und prompt ist man wieder eingeloggt. Wo soll denn die TAN übergeben werden. Vor dem Login wegen der Zuordnung nicht möglich, nach dem Login macht es wenig Sinn, denn dann loggt sich der IE über den aktualisieren-Klick ein! Sehe da momentan nur die Cookie-Möglichkeit mit entsprechender Abfrage.

      Hier mal der relevante Teil:


      schnipp------X



        if($namerein ne "" && pwrein ne "" && $usid eq "")
             {
                          get "nutzer_name==!$namerein","nutzer";
                          if($nutzer_passwort ne "" && $nutzer_passwort eq $pwrein)
                          {
                             mod "nutzer_name==$namerein", ["nutzer_usid", "$usid_aktuell"], "nutzer";
                             $usid="$usid_aktuell";
                          }else
                          {
                             out "<b>Anmeldung fehlgeschlagen!</b>";
                             $namerein="";
                             $login_name="";
                          }
             }
      if($namerein ne "" && $usid ne "")
      {
       
      out "<!-- test, ob aktuelle session-id noch gültig ist -->";
       
      get "nutzer_name==$namerein", "nutzer";
      

      $usid_max = $usid+3;

              if($usid eq $nutzer_usid && $usid_aktuell <= $usid_max)
              {
                         out "<!-- session-id ist gültig - session-id wird aktualisiert -->";
                         mod "nutzer_name==$namerein", ["nutzer_usid", $usid_aktuell], "nutzer";
                         $usid=$usid_aktuell;
      

      ######### Ab hier alles rein, was nach login gemacht werden darf ##########

      schnapp----X

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 8.Juli.2005, 16:23.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      Also zum mitmeißeln:

      Der User kommt das allererste ;al auf deine Seite. Er klickt den Link "Einloggen" -> es erscheint das loginform. Mit Ausgabe des Loginform schickst du ihm die Zufallsid (tan) mit, welche dann im Form beim abschicken als hiddenfield zurückgegeben wird
      <input type=text name=user>
      <input type=password name=password>
      <input type=hidden name=tan value=$tan>
      

      somit wird diese generierte tan jedesmal beim klick auf "Aktualisieren" mitgeschickt, genau wie pw und user. Du prüfst beim Einloggen auf "User", "Password", warum dann nicht auch auf "tan schon mal abgeschickt"
      Wenn du datum/uhrzeit in form von jjjjttmmhhmmss an den Anfang der tan mit einbeziehst, sollte es zu keiner doppelung kommen (ausser serveruhrzeit geht falsch)

      klarer?

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Freitag, 8.Juli.2005, 18:02.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      Sinnvoll wäre bspw. auch eine Session-ID, die nach einer bestimmten Zeit verfällt - aber im Gegensatz zu deiner Routine beim Anmelden abgespeichert wird und beim manuellen Logout gelöscht wird.
      Bei jedem neuem Login wird eine neue Session-ID generiert und mit der in der DB gespeicherten verglichen, bei Reloads bzw. Aktionen im erlaubten angemeldeten Bereich wird die SID jedesmal auf Gültigkeit (Zeitablauf) geprüft.
      So kann man verhindern, dass beim Offenlassen einer Session nach der voreingestellten Zeit noch so oft reloadet werden kann oder was auch immer ohne dass man ins System kommt.
      Ein Nachteil besteht allerdings, man muss sich nach Ablauf der Sessionzeit (also von Zeitpunkt der ersten Anmeldung ans System) wieder neu anmelden - allerdings kann man auch das kontrollieren, hab ich auch schon mal gebaut, finds nur im Moment nicht mehr...
      Mein Zugangs-Kontroll-Tool nutzt das genau so, es wird sogar zuverlässig ein zweimaliges gleichzeitiges Login unter gleichem Nutzernamen verhindert und eine entsprechende Warnmeldung ausgegeben wenn das passiert. Da ist aller Reload und neues Senden von Zugangsdaten zum Scheitern verurteilt.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Freitag, 8.Juli.2005, 18:15.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      Hallo Ruben,

      auch hier noch mal kurz geantwort;-))

      läuft mit session-Id;-)





      session-Id wird bei Logout gelöscht, trotzdem trickst dich der IE aus, weil er die Daten (Name passwort) irgendwo in der index.dat speichert und dann fröhlich neu sendet. Da nützt die SID nix. Nur meine bisherige Erfahrung.


      if($logout eq "1")
      {
      mod "nutzer_name==$login_name", ["nutzer_usid", ""], "nutzer"; 
      out"<a href=javascript:window.close();>Fenster schließen</a>";
      

      }


      hatte ich vergessen, vorhin mitzuteilen, wie gesagt, bin reif für die Insel;-))

      Gruß

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Freitag, 8.Juli.2005, 18:22.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Hatte ich vergessen.

      Ich öffne das mittlerweile in einem eigenen Fenster (ohne javascript!!)
      Wenn das Fenster nach dem Logout geschlossen wird, kann niemand über den Verlauf irgend etwas machen, aber solange das Fenster geöffnet ist, trickst Dich der IE über die Browser-back-Funktion aus.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 8.Juli.2005, 22:44.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      mit ner TAN eben nicht mehr, wenn du auf der logincheck-seite stehen hast
      if (Tan schon da gewesen){
      out "kein login";
      }else{
      
      prüfe logindaten...
      }

     Antworten

    Beitrag von Claus (4645 Beiträge) am Samstag, 9.Juli.2005, 12:13.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Hallo Sander,

      Hier mal der Quelltext ohne die Ausgabe und einfach nur mal ne TAN aus Time erstellt. Die Daten von $TAN kommen leider nirgens an. Irgndwo ist da noch ein (Denk-) Fehler drin. Oder ich bin mal wieder zu blöd.

      Gruß

      Claus



      <html><head>
      <meta http-equiv="pragma" content="no-cache">
      <meta http-equiv="expires" content="0">
      <meta http-equiv="cache-control" content="no-cache">
      <title></title>
      </head>
      <body bgcolor=#000000 text=#ffcc99 link=#ccffff alink=red vlink=#eeeeee>
      

      <perl>


      $_header="Expires: 0\n"; 
      $_header.="Pragma: no-cache\n"; 
      $_header.="Cache-Control: no-store, no-cache, max-age=0, must-revalidate\n\n";
      


      ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)= gmtime(time);
      $usid_aktuell = (1000000*$year)+(10000*$mon)+(100*$mday)+(4*$hour)+$min;
      if($logout eq "1")
      {
      mod "nutzer_name==$login_name", ["nutzer_usid", ""], "nutzer"; 
      out"<a href=javascript:window.close();>Fenster schließen</a>";
      

      }


        if($namerein ne "" && $pwrein ne "" && $usid eq "")
             {
               
                get "nutzer_name==!$namerein","nutzer";
                          if($nutzer_passwort ne "" && $nutzer_passwort eq $pwrein)
                          {
                          
      
        mod "nutzer_name==$namerein", ["nutzer_usid", "$usid_aktuell","IP","$_REMOTE_ADDR"], "nutzer";                        $usid="$usid_aktuell";                     }else                     {                        out "<b>Anmeldung fehlgeschlagen!</b>";                        $namerein="";                        $login_name="";                     }        } if($namerein ne "" && $usid ne "") {   out "<!-- test, ob aktuelle session-id noch gültig ist -->";   get "nutzer_name==$namerein", "nutzer";

      $usid_max = $usid+3;

              if($usid eq $nutzer_usid && $usid_aktuell <= $usid_max && $_REMOTE_ADDR eq $IP)
              {
                         out "<!-- session-id ist gültig - session-id wird aktualisiert -->";
                         mod "nutzer_name==$namerein", ["nutzer_usid", $usid_aktuell], "nutzer";
                         $usid=$usid_aktuell;
      

      ######### Ab hier alles rein, was nach login gemacht werden darf ##########

            
            
      blablabla









      my $newrange=$_range+$_range_length;
      my $oldrange=$_range-$_range_length;
      

      $oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;


      out "<p align=center>"; 
      

      out " [ <a href=\"$_link&von=$oldrange&namerein=$namerein&usid=$usid\">zurück</a> ] " if $oldrange>=0;

      out " [ <a href=\"$_link&von=$newrange&namerein=$namerein&usid=$usid\">weiter</a> ] " if $newrange<$_amount_query;
      

      out "</p>";




      out "</font></tr></table></div>"; 
      out"<br><br>";
      } else
        {
          out "<b>Anmeldung fehlgeschlagen!</b>";
          $namerein="";
        }
      

      }




      if($namerein eq "")
      {
      ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)= gmtime(time);
      $TAN = (1000000*$year)+(10000*$mon)+(100*$mday)+(4*$hour)+$min;
      

      out <<EOF;
      <font color="#ffcc99">
      <h2>Anmeldung</h2>Bitte melden Sie sich an:
      <form action="http://www.xxxxxxxxxxx.de/cgi-bin/baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
      <input type=hidden name="htx=" value="$htx">
      <table>
      <tr><td><font color="#ffcc99">Name:</font></td><td><input type="text" name="namerein="></td></tr>
      <tr><td><font color="#ffcc99">Passwort:</font></td><td><input type="password" name="pwrein="></td></tr>
      <input type=hidden name="tan" value="$TAN">
      

      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form></font>
      EOF
      }
      </perl>
      

      </body></html>

     Antworten

    Beitrag von Claus (4645 Beiträge) am Samstag, 9.Juli.2005, 12:48.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Hallo Sander,

      habe mich mit den Hidden-Feldern noch nicht befasst, aber kann man da nichts reinschreiben??

      Gruß

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Samstag, 9.Juli.2005, 17:46.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Hallo Sander,

      ich denke mal, ich erkenne nach vielen unfruchtbaren versuche langsam, worauf das hinausläuft. Struktur erkannt.

      fixwert + zufallswert

      Bin aber noch nicht daraufgestossen, wie man das einbaut. Werde mal weiter testen.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Samstag, 9.Juli.2005, 18:28.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Habe jetzt zwar schon einiges dazugelernt,aber es gibt immer noch Probleme;-)

      <nein, dazu gibt es die TAN (Transaktionsnummer), am besten eine zufallszahl mit datum/zeit drin - die kann nur einmal vorkommen. Mit dem login wird eine TAN übergeben und abgespeichert.>
      

      Wie,wo abspeichern??? In ein hidden-Feld und wenn ja, wie???

      Reite mir hier langsam einen Wolf;-))

      Gruß

      Claus

     Antworten

    Beitrag von richard (1187 Beiträge) am Samstag, 9.Juli.2005, 19:14. WWW: posaunenchor-rhoden.de
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      -----------------
      Der User kommt das allererste Mal auf deine Seite. Er klickt den Link "Einloggen" -> es erscheint das loginform. Mit Ausgabe des Loginform schickst du ihm die Zufallsid (tan) mit, welche dann im Form beim abschicken als hiddenfield zurückgegeben wird

      <input type=text name=user>
      <input type=password name=password>
      <input type=hidden name=tan value=$tan>
       
      

      somit wird diese generierte tan jedesmal beim klick auf "Aktualisieren" mitgeschickt, genau wie pw und user. Du prüfst beim Einloggen auf "User", "Password", warum dann nicht auch auf "tan schon mal abgeschickt"
      -----------------

      Will mal versuchen Sander zu interpretieren.

      Auf dem Server befindet sich eine Liste/Datenbank der bereits vergebenen TAN-Nummern, mit denen sich User angemeldet haben.

      Fordert jetzt ein User das Login-Formular an, wird eine neue TAN berechnet und mit dem leeren Login-Formular an den Browser des Users ausgegeben. Also normales Formular mit zusätzlich: <input type=hidden name=tan value=neuerzeugteTAN>

      Der User trägt jetzt seine Login-Daten ein und mit dem Abschicken des Formulars gehen die Login-Daten und die TAN (die Du da ja schon selber als hidden-Feld eingetragen hattest) dann wieder zum Server.

      Auf dem Server wird diese TAN jetzt mit der vorhandenen Liste verglichen.
      Ist die TAN bereits vorhanden wird die weitere Verarbeitung abgebrochen und es erfolgt kein Login. Ist die TAN noch nicht vorhanden, wird sie in der TAN-Liste gespeichert und der Loginvorgang weitergeführt (Prüfung von Name und PW).

      Hilft das?

     Antworten

    Beitrag von Claus (4645 Beiträge) am Samstag, 9.Juli.2005, 21:04.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Hallo Richard,

      genau da liegt der Hund begraben;-)

      <Auf dem Server befindet sich eine Liste/Datenbank der bereits vergebenen TAN-Nummern, mit denen sich User angemeldet haben.>
      

      Ich kann die per "hidden" übergebene TAN nirgends finden, weder eintragen, noch aufrufen geschweige denn irgendwie vergleichen!!

      Gruß

      Claus

      In der Doku oder sonstwo ist die Anwendung von hidden-feldern nicht mal im Ansatz beschrieben!!!!!

     Antworten

    Beitrag von richard (1187 Beiträge) am Samstag, 9.Juli.2005, 21:48. WWW: posaunenchor-rhoden.de
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Denke, da mußte mal bei selfhtml unter Formularen und da bei versteckten Elementen suchen. Das ist eigentlich ganz simples html.

      Grundätzlich funktioniert das hidden-Feld wie jedes andere Formularfeld auch, nur daß der User da nicht dran kann. Beim abschicken des Formulars durch den User wird der Wert übergeben, der bei value eingetragen ist. Auf diesen Wert zugreifen kannst Du genauso wie auf jeden anderen per Formular/Post übergebenen Inhalt. Falls das noch nicht klar ist, zeig nochmal den Teil Deines Skripts, wo Du die Formulardaten auswertest. Hast Du dem hidden-Feld überhaupt einen Wert zugewiesen?

      Für das hier anstehende Problem besteht auf den ersten Blick vielleicht die Besonderheit,daß dieser Wert für das hidden-Feld bereits beim Aufbau des Formulars festgelegt wird und bereits "fertig" beim Browser ankommt, dort nicht verändert wird und so wie angekommen auch wieder abgeschickt wird.

      <Auf dem Server befindet sich eine Liste/Datenbank der bereits vergebenen TAN-Nummern, mit denen sich User angemeldet haben.>
      

      Das hat nichts mit dem Feldtyp hidden zu tun, sondern ist eine ganz normale Datenbank wie jede andere auch. Statt Namen stehen da halt Nummern drin. Du mußt diese Datenbank selber anlegen und mit den benutzten TAN-Nummern füllen.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Samstag, 9.Juli.2005, 22:53.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      na ich war zu faul und dachte du siehst das schon :)
      nicht
      <input type=hidden name=tan value=$tan>
      
      sondern
      <input type="hidden" name="tan=" value="$tan">
      wie immer in bp mit nem = oder := beim namen dran
      :))

     Antworten

    Beitrag von Claus (4645 Beiträge) am Sonntag, 10.Juli.2005, 07:01.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Hallo Sander,

      das war mir schon klar;-))

      kriege das allerdeings nicht gespeichert. Habe ein einfaches sortiertes Text-Feld namens "tan" genommen, Wird aber nichts reingeschrieben.


       if($namerein ne "" && $pwrein ne "" && $usid eq "")
             {
               
                get "nutzer_name==!$namerein","nutzer";
                          if($nutzer_passwort ne "" && $nutzer_passwort eq $pwrein)
                          {
                          
      
        mod "nutzer_name==$namerein", ["nutzer_usid", "$usid_aktuell","IP","$_REMOTE_ADDR","tan","$TAN"], "nutzer";                        $usid="$usid_aktuell";

     Antworten

    Beitrag von Claus (4645 Beiträge) am Sonntag, 10.Juli.2005, 08:47.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Hallo Sander,

      Bei kostnix mal getestet. Da funktioniert das mit dem Eintrag in ein hidden-Feld, bei Lizenz klappt es nicht mal, wenn ich am Anfang des Templates

      mod "Id==0", ["tan", "1000"], "nutzer";
      

      einbaue.

      Habe dafür zur Zeit noch keine Erklärung;-)

      Gruß

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Sonntag, 10.Juli.2005, 09:17.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))/Nachtrag

      Hallo Sander,

      alte DB gelöscht und neu erstellt. Jetzt klappt es soweit;-))

      Danke für Deine Geduld, auch an Richard!

      Gruß

      Claus

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Freitag, 8.Juli.2005, 18:59.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      naja hab ich schon gesehen, dass du ne Session-ID nutzt.
      Wenn man die Session-ID nur ne bestimmte Zeit gültig macht, und die bei Erstanmeldung speichert und dann immer mit der aktuellen vergleicht, kann man erst mal die Session-Dauer kontrollieren.
      Wenn man dann noch prüft, ob schon ne Session-ID abgespeichert wurde (im Zweig wo Name und Password geprüft werden) und in diesem Falle ne Neuanmeldung mit leeren Werten für Nutzername und Passwort verlangt mit Hinweis auf die Nichtabmeldung bzw. wenn noch innerhalb der gültigen Session-Zeit auf einen doppelten Anmeldevorgang unter gleichem Namen hingewiesen wird ist das komplett wasserdicht und serverbasiert. Da brauchts kein Javascript und auch keien Popup bzw. neues Fenster (wenn der Popupblocker an ist dann geht das nämlich auch nicht).
      Nur so mal als Anregung und "Hirnfutter"... ;-)

     Antworten

    Beitrag von richard (1187 Beiträge) am Freitag, 8.Juli.2005, 19:55. WWW: posaunenchor-rhoden.de
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      Was ich nicht ganz verstehe, warum enthält denn die Seite, welche durch den IE aktualisiert wird überhaupt die Login-Daten wie Name und Paßwort. Zur Authentifizierung genügt doch die session-id.

      Man hat dann nur sicherzustellen, daß nach Abmeldung oder Ablauf der session-id kein Zugang zu dem geschützten Bereich mehr möglich ist. Ein erneutes einloggen ist dann auch bei einem Reload der Seite gar nicht möglich.

      Ein Reload einer Login-Seite führt auch nicht zu einem (erneuten) Absenden der eigegebene Formulardaten und damit zu einem Login, sondern nur zu einem Neuaufbau des leeren Formulars. Wenn das anders ist, würde ich meinen stimt was nicht an der Struktur der Anwendung.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Freitag, 8.Juli.2005, 21:44.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      Hallo Richard,

      nach dem ausloggen kommt bei "zurück" diverse Male die Login-Aufforderung OHNE Daten!!!

      Dann kommt eine weiße Seite OHNE Login-Aufforderung mit dem bereits mitgeteiltem Hinweis:

      <Achtung: Seite ist nicht mehr gültig Die angeforderte Seite wurde mit Hilfe von Informationen erstellt, die von Ihnen in einem Formular mitgeteilt wurden. Diese Seite ist nicht mehr verfügbar. Als Sicherheitsmaßnahme übermittelt Internet Explorer solche persönlichen Informationen nicht automatisch erneut. 
      

      Falls Sie die Seite ansehen und die Informationen erneut mitteilen möchten, klicken Sie auf Aktualisieren.>

      keine Daten oder sonst etwas!!!!

      Wenn man nochmal auf zurück klickt, ist man auf der ersten aufgerufenen Seite OHNE Daten.

      Werde das ganze mal in Ruhe und vor allem ausgeschlafen nochmal prüfen und alle Varianten durchspielen.

      Trotzdem erst mal Danke an Alle für die Hilfe!!!

      Gruß

      Claus

     Antworten

    Beitrag von richard (1187 Beiträge) am Samstag, 9.Juli.2005, 09:22. WWW: posaunenchor-rhoden.de
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      Mal als Anregung.

      In einer anderen Welt mache ich das so, daß die Angaben aus einem Login-Formular auf einer neuen Seite auf dem Server verarbeitet werden. Ist die Anmeldung in Ordnung, leitet diese Seite die Anfrage auf eine (geschützte) andere Seite weiter die an den Browser übergeben wird, die Session-Id aber keinerlei Post-Daten enthält, ist die Anmeldung nicht in Ordnung erfolgt eine Weiterleitung zurück zu einem Login-Formular.

      In keinem der beiden Fälle führt eine Aktualisierung durch den Browser zu einer wiederholten Absendung der Login-Daten. Die Verarbeitung der Post-Daten aus dem Login-Formular geschieht ja auschließlich mit der Zwischenseite auf dem Server.

      Mit Perl wäre das dann wohl grundsätzlich so:

      if (loginok) {
      
      print "location: geschützte Seite?sessionid=12345";
      } else {
      print "location: nocheinmal login";
      }
      

      Habe aber keine Ahnung ob und wie das mit bp-perl möglich ist.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Samstag, 9.Juli.2005, 14:05.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      Hallo Richard,

      werde mir das mal durch den Kopf gehen lassen. Prob ist allerdings, daß man sich auf mehreren Seiten einloggen und dann "hin und her" wandern kann, also nicht eine geschützte Seite allein beseht.

      Gruß

      Claus

     Antworten

    Beitrag von richard (1187 Beiträge) am Samstag, 9.Juli.2005, 14:39. WWW: posaunenchor-rhoden.de
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      ----------------
      Prob ist allerdings, daß man sich auf mehreren Seiten einloggen und dann "hin und her" wandern kann, also nicht eine geschützte Seite allein beseht.
      ----------------

      Das ist eigentlich kein Problem, man muß nur sicherstellen, daß die session-id beim "hin und her" wandern immer mit übergeben wird (grds. egal ob per url (get) oder post). Im Kopf jeder geschützten Seite muß man dann überprüfen, ob eine gültige session-id mit den für die jeweilige Seite notwendigen Rechten übergeben wurde. Dabei kann man die Rechte beim speichern/erzeugen der session-id fest vergeben, oder anhand der id den user ermitteln und dann dessen Rechte speziell für die aktuelle Seite aus einer db auslesen und den Zugang entsprechend regeln. Ist der User nicht angemeldet oder hat keine ausreichende Rechte gehts mit einer entsprechenden Meldung zurück zum Ausgangspunkt oder einer Loginseite.

      Soweit Du das einloggen auf mehreren Seiten ermöglichen willst, verschickst Du die Login-Daten an ein zentrales (Zwischen-)Template, das die Berechtigung überprüft. Bei einem erfolgreichen Login leitest Du den User dann auf eine zentrale (Auswahl-)Katalogseite weiter, von der der User sich dann weiter klicken kann. Oder Du liest die Adresse der Seite aus, von welcher aus das Login erfolgt und verschickst diese Adresse zusammen mit den Login-Daten an das Zwischentemplate. Bei einem erfolgreichen Login kann man diese Daten dann für eine flexible Weiterleitung nutzen.

      Hoffe ich habe mich einigermaßen verständlich ausgedrückt.

      Ach ja noch was, die session-id muß natürlich auch über nicht geschützte Seiten weitergegeben werden.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 8.Juli.2005, 22:42.
    Re: @Sander/Sicherheit und Passwortschutz/leicht offtopic;-))

      wenn du im browser zurück gehst, kommst du an die stelle, wo deine logindaten entgegengenommen werden (sozusagen die seite nach abschicken des forms). Und die Seite wird nur mit den Postdaten aus dem Form aufgerufen - der Browser fragt, soll ich die nochmal senden?. Ist nicht nur im IE so, sondern in jedem Browser den ich kenne.

     Antworten


     
 Liste der Einträge von 23401 bis 23551:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!