Loginscript, was braucht man um es wirklich sicher zu machen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Loginscript, was braucht man um es wirklich sicher zu machen?

    Ich hasse es ja selbst für jeden scheiss nen neuen Thread auf zu machen, vorallem zu Loginscripts gibt es tausende Threads aber kann mal wer versuchen auf den Punkt zu bringen was man braucht um ein Loginscript in zusammenarbeit mit SQL wirklich sicher zu machen?

    Ich versuche nen Communitysys zu schreiben, vielleicht häng ich mich damit etwas weit aus dem Fenster aber wenigstens lern ich dabei ne Menge

    Bisher gibt es 3 Benutzergruppen. Sie alle stehen in einer Tabelle und unterscheiden sich derzeit durch das Feld "Gruppe".

    nun das erste problem. der benutzer meldet sich an und eine bestätigungsemail wird versendet. bei Gruppe A wird die MAil direkt an den User geschickt. Bei Gruppe B und C geht erstmal ne Mail an den Admin. Dieser hat einen Bestätigungslink und einen Abweisenlink in der Email. klickt er auf bestätigen, bekommt der user ne Nachricht, dass er freigeschaltet wurde und dass er sich jetzt mit dem Aktivierungslink in der Mmail aktivieren muss. Ansonsten erhält er halt ne Email mit der Nachricht, dass er abgewiesen wurde.

    Bei den Emails wird jedoch alles per Anhängen an die URL gelöst. Mit nem Zufallsgenerator könte man jetzt versuchen den Zufallsstring in der URL selbst zu erstellen.

    Wie löst man das Problem mit der Anmeldung, dass nicht irgendwelche Hirnis die Datenbank zumüllen und am laufenden Band schrottige usernamen in die DB eintragen? solange ein User net von Hand gelöscht wurde bleibt er ja in der DB stehen.

    Loggt der User sich ein, wird gecheckt, ob sein PW mit dem Benutzernamen in der DB übereinstimmen. Wenn das der Fall ist wird die SessionID bei seinem Usernamen gespeichert.
    Wenn der User nun auf eine geschützte Seite kommt wird kontrolliert, ob die Session ID und der Benutzername aus der Sessionvariable mit den Einträgen in der DB übereinstimmen, wenn nicht wird er gebeten sich neu einzuloggen.

    Ist das soweit in Ordnung? Was muss ich machen um die Angelegenheit sicherer zu machen?

    Entsehen irgendwelche Nachteile für User die keine Cookies benutzen, wenn ich die SessionID nicht an die Url anhänge, sondern bei jeder Seite erneut session_start() verwende? Wenn ich das richtig gelesen habe wird die Session damit nicht überschrieben.

    Wär nett, wenn mir jemand ein paar Tipps geben könnte.

  • #2
    Re: Loginscript, was braucht man um es wirklich sicher zu machen?

    Original geschrieben von Aurelius
    Entsehen irgendwelche Nachteile für User die keine Cookies benutzen, wenn ich die SessionID nicht an die Url anhänge, sondern bei jeder Seite erneut session_start() verwende? Wenn ich das richtig gelesen habe wird die Session damit nicht überschrieben.
    du musst auf jeder seite, wo du die session verwenden willst, session_start() benutzen.

    das ist vollkommen unabhängig davon, ob du die SID per cookie oder per URL weitergibst.

    und das sollte ja auch schon die andere frage beantworten: übergabe nur per cookie (von dir festgelegt), user nimmt aber keine cookies an -> session_start() startet jedes mal eine neue session (die aber alle weitgehend nutzlos bleiben, da sie beim nächsten scriptaufruf nicht wiedererkannt werden, weil eben die SID nicht übermittelt wurde).
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wie löst man das Problem mit der Anmeldung, dass nicht irgendwelche Hirnis die Datenbank zumüllen und am laufenden Band schrottige usernamen in die DB eintragen? solange ein User net von Hand gelöscht wurde bleibt er ja in der DB stehen.
      ich hab in meiner Datenbank ne zusätzliche Zeitangabe gemacht, wann der User sich eingetragen hat, ist er nach einer bestimmten zeit (2tage oder mehr) nicht registriert oder hatte (wenn er keine reg brauchte) noch keine Aktivitaet (der Datumsstempel wird auch gespeichert) wird er Automatisch geloescht...

      Byteandi
      Sport Dates

      Kommentar


      • #4
        Das mit dem Eintragen des Anmeldedatums klingt gut, werd ich mal einbauen

        Das Sache mit den Session IDs werd ich mir wohl lieber nochmal anschauen.

        Kommentar


        • #5
          Re: Loginscript, was braucht man um es wirklich sicher zu machen?

          Original geschrieben von Aurelius
          Wie löst man das Problem mit der Anmeldung, dass nicht irgendwelche Hirnis die Datenbank zumüllen und am laufenden Band schrottige usernamen in die DB eintragen? solange ein User net von Hand gelöscht wurde bleibt er ja in der DB stehen.
          soetwas noch mit einbauen? => http://www.php-resource.de/forum/sho...threadid=39848
          Kissolino.com

          Kommentar


          • #6
            Re: Re: Loginscript, was braucht man um es wirklich sicher zu machen?

            Original geschrieben von Wurzel
            soetwas noch mit einbauen? => http://www.php-resource.de/forum/sho...threadid=39848
            @wurzel: wie funktioniert sowas genau? wenn dieser zufällige code erzeugt wurde, dann kann doch jeder diesen code in das feld eingeben und die DB trotzdem zumüllen?? glaub hab noch was nicht richtig verstanden

            Kommentar


            • #7
              Re: Re: Re: Loginscript, was braucht man um es wirklich sicher zu machen?

              @lx-club: du möchtest noch mal lesen, was wurzel oben drüber geschrieben hat:
              ein ansatz, automatische formulareingaben (durch einen bot) zu unterbinden
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                ja ein ansatz...aber ich hab noch nicht so richtig rausgelesen wie man es (ansatzweise) verhindert, das die DB zugemüllert wird

                Kommentar


                • #9
                  Original geschrieben von lx-club
                  ja ein ansatz...aber ich hab noch nicht so richtig rausgelesen wie man es (ansatzweise) verhindert, das die DB zugemüllert wird
                  Indem man grafisch einen Code per Zufall generiert und als Bild ausgibt.
                  Dieser Code ist in der DB gespeichert....

                  Bei jeder Registration muss dieser zufälliige Code zusätzlich eingegeben werden. Da Bots keine Bilder auswerten können ziemlich guter Trick
                  [color=blue]MfG Payne_of_Death[/color]

                  [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                  [color=red]Merke:[/color]
                  [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                  Murphy`s Importanst LAWS
                  Jede Lösung bringt nur neue Probleme
                  Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                  In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                  Kommentar


                  • #10
                    Original geschrieben von lx-club
                    ja ein ansatz...aber ich hab noch nicht so richtig rausgelesen wie man es (ansatzweise) verhindert, das die DB zugemüllert wird
                    man verhindert damit, dass ein bot automatisiert die DB zu müllt, weil der den code im bild (vermutlich) nicht lesen kann.
                    gegen menschliche user, die spass daran haben, hilft das natürlich auch nicht.
                    hättest du aber selber merken können, wenn du's aufmerksamer gelesen hättest ...
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      dagegen wirst du auch wenig ausrichten können.
                      aber: der bild-trick funktioniert teilweise auch für/gegen menschliche user, da es schon mehr aufwand ist noch einen code abzutippen.
                      ansonsten: cookie/ip-sperre...

                      Kommentar


                      • #12
                        Alles in Allem ist das ganze eine Pseudosicherheit....Man kann alles nur erschweren aber nicht endgültig verhindern leider...
                        [color=blue]MfG Payne_of_Death[/color]

                        [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                        [color=red]Merke:[/color]
                        [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                        Murphy`s Importanst LAWS
                        Jede Lösung bringt nur neue Probleme
                        Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                        In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                        Kommentar

                        Lädt...
                        X