Hallo,
Ich habe mir mit php ein kleines Login-Script geschrieben.
Mann gibt das Passwort ein und wir dann wenn es richtig ist an eine nexte Seite weitergeleitet.
Problem:
Wenn jemand die genaue Bezeichnung der passwortgeschützen Seite kennt kann er diese einfach im Browser hinter die url setzen und kommt direkt auf die Seite ohne das Passwort einzugeben.
In meinem fall ist die url die IP meines Homeservers(Ubuntu 10.04) also: 192.168.178.2/geschützt.php
Durch diese Eingabe kann man dierekt in den geschützen Bereich ohne Passwort.
Frage:
Wie verhindere ich das?
indem du eine session setzt, die einen bestimmten wert entählt und jenen auf der folgenden seite prüfst. ist der wert nicht vorhanden, gibt es keinen zutritt.
Nils aka XraYSoLo
Oder verschiebe die Seite in ein Unterverzeichnis und schütze dieses vor einem direkten Zugriff von außen.
wobei es elegantere methoden gibt, die auch global über den ganzen (freigegebenen) server agieren können.
Ich bin eher Anfänger in php, könntest du mir das mit der Session kurz erklären?
Was für elegante methoden?
Und für die version mit den unterverzeichnissen, wie schütz ich die so dass man mit passwort dann doch drauf zugreifen kann?
gruß maxi
die session ist die elegantere methode, andernfalls könnte nur jeweils ein unterverzeichnis geschützt werden und auch nur dann, wenn du einen apache server hast.
das hier durcharbeiten. dürfte selbstklärend sein.
Nils aka XraYSoLo
jetzt hab ich dazu allerdings noch ne frage,
also wenn ich das richtig verstanden hab dann setz ich also ein cookie wenn der benutzer sich einloggt und wenn er sich wieder ausloggt lösche ich dieses cookie wieder.
ich lasse ihn also nur auf die seite 192.168.178.2/geheim.php wenn das cookie das sagt, dass er eingeloggt ist vorhanden ist.
Das Beispiel direkt kann ich nicht übernehmen, da ich die passwörter nicht in einer Datenbank sondern direkt im script speichere.
Frage:
Wohin schreibe ich dass man nur auf die Seite geheim.php darf wenn man so ein cookie hat. Direkt auf die Seite geheim.php? Dann ist es aber doch schon zu spät weil sie dann schon offen ist…? Und auf die index.php seite zu schreiben bringt ja auch nix, da man ja mit 192.168.178.2/geheim.php die index.php seite ja gar nicht öffnet.
Gruß Maxi
im skript selber speichern ist sowieso eine riesige sicherheitslücke.
Nils aka XraYSoLo
Ja.
Dann ist es aber doch schon zu spät weil sie dann schon offen ist…?
Das Script wurde gestartet, aber du kannst dann ja im Script die Ausgabe beeinflussen.