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.
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.
Kommentar