Hallo,
(PS: Keine verbesserungsvorschläge, ich behalte dieses sowieso )``
willst Du jetzt was wissen oder nicht?
[code lang=sql]$benutzer = $_POST[benutzer];
$passwort = $_POST[passwort];
a) überflüssiges Umkopieren
b) fehlerhafte Syntax beim Zugriff auf Array-Elemente
$abfrage = "SELECT Benutzer, Passwort FROM login WHERE Benutzer LIKE '$benutzer'";
c) anfällig für SQL-Injection, weil kontextgerechte Behandlung missachtet wird.
$ergebnis = mysql_query($abfrage);
d) fehlende Fehlerbehandlung. mysql_query() kann fehlschlagen.
e) mysql_*-Funktionen sind veraltet und sollten in neuen Projekten nicht
mehr verwendet werden.
$row = mysql_fetch_object($ergebnis);
f) Gibt es überhaupt einen Datensatz?
if($row->passwort == $passwort || $row->benutzer == $benutzer)
g) Passworte speichrt man nicht im Klartext. Speichere gesalzene Hashes und
nutze dies bereits in der WHERE-Klausel Deiner Abfrage.
h) Benutze exaktere Vergleichsoperatoren.
{
echo "Login erfolgreich. <br> <a href="geheim.php">Geschützer Bereich</a>";
i) Wer die URI kennt, kommt an das, was geschützt werden soll.
Der Schutz ist also nichtexistent (Security by Obscurity doesn't work).
Freundliche Grüße
Vinzenz