PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Login & Logout mit SESSIONS


Socrates
12.07.2006, 22:30:48
Hallo Leute!
Habe da so ein kleines Problem! Habe versucht ein login zu programmieren, das wie ihr seht sehr leicht umgänglich ist! Es sollen sich nur zwei User-Gruppen einloggen können, die dann in verschiedene Bereiche gelangen.
Mein Login sieht so aus:


<?php
if ($_POST["name"] == "redway" && $_POST["passwort"] == "mafn13")
{
echo "<script>location.href=\"redway.htm\"</script>";
}
elseif ($_POST["name"] == "admin" && $_POST["passwort"] == "r3dw4y")
{
echo "<script>location.href=\"redway2.htm\"</script>";
}
else
{
echo "<script>location.href=\"index.htm\"</script>";
}
?>


Das Logout ist ein einfacher Link, der auf die Startseite zurück verweist:


<?php
echo "<script>location.href=\"index.htm\"</script>";
?>


Natürlich soll nicht jeder das Login umgehen können, indem er einfach in der Adresszeile die URL ändert. Ich habe gehört, dass man das durch Cookies sicherer machen kann, das diese allerdings im Browser aktiviert sein müssen! Daher bleiben nur SESSIONS!
Könnt jemand mir bei der Entwicklung eines solchen Logins mit SESSIONS helfen, da ich in diesem Gebiet nicht sehr bewandelt bin?
Danke schon mal im Vorraus!

PS: Mir steht kein Mysql zur Verfügung! Lediglich Html & PHP

Andes
12.07.2006, 23:25:55
Mit .htaccess könntest du dies auch realisieren.
http://de.selfhtml.org/servercgi/server/htaccess.htm

Socrates
13.07.2006, 12:52:24
Danke erstma!
Ich würde es allerdings gerne mit SESSIONS lösen, da ich im Moment nicht weiß auf was für einem Server die Homepage läuft! Erst in ein paar Monaten werde ich Webspace von einem Freund zur Verfügung gestellt bekommen, der auf einem Apache-Server gelegen ist!
Könnt mir also jemand helfen, ein auf SESIONS basierendes Login und Logout zu programmieren?
Wäre euch sehr verbunden!

xabbuh
13.07.2006, 14:34:37
Dort findest du einen Ansatz: http://tut.php-q.net/login.html

Socrates
13.07.2006, 14:50:31
Danke!
Das bring mir aber leider nichts, da ich, wie ich schon erwähnt habe, keine Datenbank zur Verfügung habe!
Ich würde das ganze gern über Cookies lösen, die können aber leider im Browser deaktiviert werden und sind dann unnütz! Also soll ich, so wurde es mir empfohlen, das Problem mit SESSIONS lösen!

xabbuh
13.07.2006, 19:31:43
Dann musst du die Benutzerdaten eben in einer Textdatei statt einer Datenbank speichern. Es ändert sich somit nur die Art, wie du auf die Daten zugreifst.

Socrates
13.07.2006, 20:09:02
Danke ich werde es versuchen!

KTB
14.07.2006, 09:33:03
Hey stop, wenn du befürchtest dass die Leute Cookies deaktiviert haben und du sie deshalb nicht verwenden möchtest, dann kannst du den Weg mit Sessions vergessen. Diese legen nämlich auch Cookies ab. Wenn diese aber geblockt werden, funktionieren Sessions und somit deine Anmeldung nicht.
Ich habe es so gelöst, dass ich mir ein eigenes Login-Logout-Script geschrieben habe welches ohne Cookies, dafür aber mit Datenbanken arbeitet.

xabbuh
14.07.2006, 09:58:19
Hey stop, wenn du befürchtest dass die Leute Cookies deaktiviert haben und du sie deshalb nicht verwenden möchtest, dann kannst du den Weg mit Sessions vergessen. Diese legen nämlich auch Cookies ab. Wenn diese aber geblockt werden, funktionieren Sessions und somit deine Anmeldung nicht.
Falsch! Die Sessionid kann sowohl per Cookie als auch per URL (bzw. Formularfeld bei POST-Requests) weitergegeben werden. Das Anhängen der Sessionid an den URL erfolgt je nach Konfiguration manuell durch das Script oder automatisch durch PHP.

KTB
14.07.2006, 10:07:08
...und wie stelle ich das ein? Denn standardmäßig packt er sie ja in ein Cookie.

xabbuh
14.07.2006, 10:18:33
- session.use_cookies (http://www.php.net/manual/en/ref.session.php#ini.session.use-cookies)
- session.use_trans_sid (http://www.php.net/manual/en/ref.session.php#ini.session.use-trans-sid)

Socrates
14.07.2006, 22:37:54
Danke Leute ich werde mal versuchen ein Login-Logout-Script zu programmieren! Werde es dann für euch ins Forum stellen zur kontrolle und weiter verwenden!