Guten Morgen,
zurzeit arbeite ich an einem Login mit Registrierung.
Das Ganze soll natürlich sicher sein, weshalb ich hier zwei Fragen habe.
Ich hashe das Passwort mittels sha512, der Salt wird mittels dev urandom zufällig generiert (besteht also auch aus Sonderzeichen und Symbolen).
AUch generiere ich einen Token, um CSRF zu verhindern.
Bis dahin ist auch alles eigentlich sicher, nur weiß ich nicht, wie sicher das mit der Session ist.
Ist alles richtig (sprich Passwort und Nutzername richtig), wird eine Session-Variable gesetzt und zwar als Wert der Username ($_SESSION['name'] = $username).
Die geschützten Seiten überprüfen nun, ob die Session['name'] gesetzt wurde, falls ja, wird der INhalt angezeigt, andernfalls muss man sich erst einloggen.
Nun meine Frage. Ist das sicher? Oder kann man die Session-Variable irgendwie manuell durch Manipulation oder so setzen, ohne das richtige PW einzugeben?
Desweiteren möchte ich den Zugriff auf die Datenbank sichern - da ich leider keinen Ordner außerhalb des Webroot erstellen kann (habe meinen Webspace nur gemietet), versuche ich mittels .htaccess Dateien den Zugriff von außerhalb zu verbieten. Sprich in die Datei deny from all allow from IP reinschreiben. Habe das gemacht, also nur localhost erlaubt (127.0.0.1). Rufe ich das ganze auch manuell auf (webseite.de/secure/) steht da auch forbidden.
Habe testweise mal das localhost entfernt, sollte also alles verbieten - manuell kann ich es auch weitehrin nicht aufrufen, dennoch kann das PHP-Skript darauf zugreifen. Sollte das nicht eigentlich auch nciht gehen?
Sonst könnte ja jeder andere, der weiß, wo der DB-Zugriff definiert ist, darauf zugreifen? Nur ich (vom localhost) soll darauf Zugriff haben, sonst soll das nicht gehen.
Geht sowas?
Wäre toll, wenn ihr mir bei beiden Fragen behilflich sein könnt.
Alles bezieht sich übrigens auf PHP.
zurzeit arbeite ich an einem Login mit Registrierung.
Das Ganze soll natürlich sicher sein, weshalb ich hier zwei Fragen habe.
Ich hashe das Passwort mittels sha512, der Salt wird mittels dev urandom zufällig generiert (besteht also auch aus Sonderzeichen und Symbolen).
AUch generiere ich einen Token, um CSRF zu verhindern.
Bis dahin ist auch alles eigentlich sicher, nur weiß ich nicht, wie sicher das mit der Session ist.
Ist alles richtig (sprich Passwort und Nutzername richtig), wird eine Session-Variable gesetzt und zwar als Wert der Username ($_SESSION['name'] = $username).
Die geschützten Seiten überprüfen nun, ob die Session['name'] gesetzt wurde, falls ja, wird der INhalt angezeigt, andernfalls muss man sich erst einloggen.
Nun meine Frage. Ist das sicher? Oder kann man die Session-Variable irgendwie manuell durch Manipulation oder so setzen, ohne das richtige PW einzugeben?
Desweiteren möchte ich den Zugriff auf die Datenbank sichern - da ich leider keinen Ordner außerhalb des Webroot erstellen kann (habe meinen Webspace nur gemietet), versuche ich mittels .htaccess Dateien den Zugriff von außerhalb zu verbieten. Sprich in die Datei deny from all allow from IP reinschreiben. Habe das gemacht, also nur localhost erlaubt (127.0.0.1). Rufe ich das ganze auch manuell auf (webseite.de/secure/) steht da auch forbidden.
Habe testweise mal das localhost entfernt, sollte also alles verbieten - manuell kann ich es auch weitehrin nicht aufrufen, dennoch kann das PHP-Skript darauf zugreifen. Sollte das nicht eigentlich auch nciht gehen?
Sonst könnte ja jeder andere, der weiß, wo der DB-Zugriff definiert ist, darauf zugreifen? Nur ich (vom localhost) soll darauf Zugriff haben, sonst soll das nicht gehen.
Geht sowas?
Wäre toll, wenn ihr mir bei beiden Fragen behilflich sein könnt.
Alles bezieht sich übrigens auf PHP.