php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.06.2008, 16:19  
Neuer Benutzer
 
Registriert seit: 30.05.2008
Beiträge: 23
asyoulikeit befindet sich auf einem aufstrebenden Ast
Standard Frage zum Passwortschutz

Hallo,

ich habe einen Passwortschutz geschrieben, der mit Hilfe einer Datenbank den Zugang zu einer bestimmten Seite ermöglicht. Nichts besonderes, es wird lediglich das Datenpaar 'Passwort' und 'User' überprüft und dann per Meta Refresh auf die nächste Seite weitergeleitet.
Funktioniert auch alles einwandfrei. Jetzt habe ich allerdings die folgende Frage: Wenn die Adresse bekannt ist, kann man ja nach wie vor durch direkte Adresseingabe auf die Seite kommen. Wie kann ich das denn verhindern?
asyoulikeit ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.06.2008, 16:24  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Sessions oder .htaccess, wobei Sessions die komfortablere Variante ist.
cycap ist offline  
Alt 09.06.2008, 16:27  
Neuer Benutzer
 
Registriert seit: 30.05.2008
Beiträge: 23
asyoulikeit befindet sich auf einem aufstrebenden Ast
Standard

.htaccess erfordert doch einen eigenen Passwortschutz oder nicht?
asyoulikeit ist offline  
Alt 09.06.2008, 16:33  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von asyoulikeit Beitrag anzeigen
.htaccess erfordert doch einen eigenen Passwortschutz oder nicht?
klar, wenn du mit den Daten aus der Datenbank arbeiten willst musst du schon Sessions (bzw. Cookies) benutzen
cycap ist offline  
Alt 09.06.2008, 17:02  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.849
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Wenn du geprüft hast, dass user/passwort ok sind, machst du
PHP-Code:
session_start();
$_SESSION['login'] = $username
und danach die Weiterleitung zum Memberbereich.

Dann baust du dies Script:
memberschutz.php
PHP-Code:
<?
session_start
();
if(
$_SESSION['login'] = "") {
   die(
"Unberechtigter Zugriff");
}
?>
und inkludierst diese Datei denn auf jeder zu schützenden Seite.
PHP-Code:
<?
include "memberschutz.php";
// Hier kommen nur angemeldete Leute an
?>
Statt die() kannst du natürlich auch eine Weiterleitung zu einer
Fehlerseite oder zur Login-Seite machen.

(Nicht getesteter Code)
Wolla ist offline  
Alt 10.06.2008, 06:50  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von cycap Beitrag anzeigen
klar, wenn du mit den Daten aus der Datenbank arbeiten willst musst du schon Sessions (bzw. Cookies) benutzen
Das stimmt so nicht:
Probleme mit Zugriff auf HTACCESS gesicherten Ordner - phpfriend.de
PHP: HTTP authentication with PHP - Manual
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 10.06.2008, 06:54  
Neuer Benutzer
 
Registriert seit: 30.05.2008
Beiträge: 23
asyoulikeit befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Wolla Beitrag anzeigen
Wenn du geprüft hast, dass user/passwort ok sind, machst du
Kann ich session_start() nicht nur ganz am Anfang einer Datei benutzen? Wie kann ich das benutzen, nachdem ich user/passwort geprüft habe?
asyoulikeit ist offline  
Alt 10.06.2008, 10:49  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

session_start() heisst nicht das bereits etwas geschützt wird. Die Session kann genau so gut anonym sein, was sie sowieso ist solange du der Session keinen User zuordnest.

Heisst also, du kannst session_start() ruhig an den Anfang einer Datei schreiben (z.B. index.php) es ist nur wichtig das es vor jeglicher Ausgabe gemacht wird und bevor du $_SESSION benutzt.

Nach erfolgreichem Login ordnest du der Session dann mit
Code:
$_SESSION['login'] = $username;
(aus dem obigen Beispiel) den User zu.

Erst ab dann wird die o.g. Kontrolle erfolgreich sein.
cycap ist offline  
Alt 10.06.2008, 10:51  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von asyoulikeit Beitrag anzeigen
Kann ich session_start() nicht nur ganz am Anfang einer Datei benutzen? Wie kann ich das benutzen, nachdem ich user/passwort geprüft habe?
session_start() muss am Anfang stehen, aber dann hast du aber während des ganzen Scripts Zugriff auf die Session-Daten ($_SESSION).
Und damit du auch bei vernünftig eingestelltem Error-Reporting keine Fehlermeldung erhälst, wenn $_SESSION['login'] nicht gesetzt ist, prüst du besser mit
PHP-Code:
if(empty($_SESSION['login'])) {
   die(
"Unberechtigter Zugriff");

__________________
Gruss
L
lazydog ist offline  
Alt 10.06.2008, 13:51  
Benutzer
 
Registriert seit: 03.05.2008
Beiträge: 83
angehender Freak befindet sich auf einem aufstrebenden Ast
Standard

In Datei 1 uebergibst du den wert true in der session login, wenn der login korekt ist, ansonsten übergibst du false
PHP-Code:
Session[login]=true;
//bzw
Session[login]=false
In der 2. Datei sieht es dann so aus:
PHP-Code:
if(Session[login]=true){
//Seitenquelltext
}
else{
//alternativquelltext wenn login falsch

PS:
session_start(); nicht vergessen!
mfg
__________________
Also ich bin jetzt nicht mehr bereit vollständige Sätze zu ...!
angehender Freak ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zu spam bots und captcha litterauspirna PHP Tipps 2008 6 20.05.2008 23:56
DNS Problem / Frage b++ Server, Hosting und Workstations 3 12.10.2006 13:27
Frage zu Counter PHP Tipps 2006 1 17.02.2006 21:45
method post frage test022 PHP Tipps 2007 10 23.12.2005 13:02
Access Frage - Datenbankverbindung abfragen reimondo Off-Topic Diskussionen 1 01.10.2005 18:24
Blöde Frage " oder ' FireFIghter PHP Tipps 2005-2 7 22.09.2005 07:06
Frage zu Speicherreservierung in PHP FiSiHRO PHP Tipps 2005-2 4 13.09.2005 12:00
[Erledigt] frage PHP Tipps 2005-2 9 15.06.2005 13:22
[Erledigt] Performence Frage PHP-Fortgeschrittene 10 06.05.2005 19:00
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
Frage: gibt es bei PHP sowas wie target="_blank" PHP Tipps 2005 6 20.04.2005 06:27
mal ne Frage PHP Tipps 2005 7 14.04.2005 09:46
Frage zu einer Liste? HTML, Usability und Barrierefreiheit 2 15.02.2005 16:56
[Erledigt] Frage zur Funkrionen? PHP Tipps 2004-2 10 01.12.2004 09:42
[Erledigt] Frage! PHP Tipps 2004 4 27.07.2004 11:25


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum