php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.10.2008, 13:03  
Erfahrener Benutzer
 
Benutzerbild von djscaleo
 
Registriert seit: 19.10.2008
Beiträge: 384
PHP-Kenntnisse:
Fortgeschritten
djscaleo kann nur auf Besserung hoffen
djscaleo eine Nachricht über ICQ schicken djscaleo eine Nachricht über Skype™ schicken
Standard [Erledigt] Brauche Hilfe bei php-Passwortschutz

Hallo liebe Comunity,
Ich bin neu hier und habe mal direkt eine wichtige Frage:

Für die Schule mache ich momentan eine Homepage und möchte eien Passwortschutz auf die Seite machen. Allerdings möchte ich keinen normalen php-Passwortschutz, sondern eine Art Forum-Passwortschutz.

Der Passwortschutz soll nicht nur das Passwort kontrollieren, sondern auch die Rechte prüfen, sodass z.B. das Admincenter nur vom Admin und das Schülercenter nur von Schülern und Usern mit mehr Rechten gesehen werden kann.

Das ganze soll über MySQL laufen.


Jetzt ist meine Frage, wie ich das ganze programmieren kann...

Ich weiß schon einmal, was ich dafür brauchen werde:

-Loginformular für das Menü
-Logoutformular für das Menü
-Passwortkontrolle
-Rechtekontrolle
-Logfile, wo jede Anmeldung (mit Anmeldename, Datum und Uhrzeit, und angabe, ob es funktioniert hat, oder nicht) reingeschriben wird

Auch noch wichtig wäre, dass das ganze über Sessions läuft, damit der User, ohne sich neu anmelden zu müssen, auf andere Seiten auf der Homepage wechseln kann.


Danke schon einmal im Vorraus,

Djsclaeo

P.S.: Wer sich die Seite mal ansehen will:
radioscaleo.ra.funpic.de

Geändert von djscaleo (19.10.2008 um 13:10 Uhr). Grund: Link hinzugefügt
djscaleo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.10.2008, 13:29  
Erfahrener Benutzer
 
Registriert seit: 07.07.2008
Beiträge: 208
homekiller befindet sich auf einem aufstrebenden Ast
Standard

also das mit den rechten ist ganz einfach
du hast eine Datenbank wo Name,Passwort und z.B. Rechtelevel vorhanden ist. Wenn der Login erfolgreich ist dann packste den Rechtelevel einfach in eine Session Variable. Beim Anzeigen der Foren/Threads/usw fragste einfach ob der Rechtelevel stimmt und zeigst es dann an oder auch nicht.

Hoffe du verstehst was ich meine
homekiller ist offline  
Alt 19.10.2008, 13:54  
Benutzer
 
Registriert seit: 07.10.2008
Beiträge: 72
amateur_php befindet sich auf einem aufstrebenden Ast
Standard

du erstellst eine datenbanktabelle wie zum beispiel

id, benutzername, passwort, recht


dann machst du ein login formular, wenn benutzername und passwort übereinstimmen dann fängst du eine session an,

PHP-Code:
session_start();
$_SESSION['username'] = $username;
$_SESSION['recht'] = $recht
dann erstellst du eine authorisierungs-php datei wo zum beispiel folgendes steht...

PHP-Code:
if(!isset($_SESSION['username'])){
header('Location:login.php');//wenn keine session besteht soll zu der login seite geleitet werden

diese datei rufst du dann in jeder php datei auf mit

PHP-Code:
include('auth.php'); 
dann machst du noch ein logout.php was dazu dient die session zu beenden

PHP-Code:
session_destroy(); 
amateur_php ist offline  
Alt 19.10.2008, 14:52  
Erfahrener Benutzer
 
Benutzerbild von zwerg
 
Registriert seit: 12.08.2005
Beiträge: 437
zwerg
Standard

amateur_php hat dir schon einen ganz guten Ansatz geliefert.

Du brauchst praktisch nur eine Tabelle user:
Code:
Id | Name | Password | Mail | IsAdmin
Beim Registrieren schaust du, ob der Benutzername oder die E-Mailadresse bereits vergeben sind, falls ja gibst du eine Fehlermeldung aus. Falls nein, speicherst du die Daten in der Tabelle ( Passwort bitte mit md5() ). Zu dem Thema findest du hier genug.

Beim Login vergleichst du den Namen und das Passwort mit der Datenbank, stimmt beides mit 1er Zeile überein registrierst du eine Session und speicherst alle Werte aus der Tabelle darin.

Loggen kannst du auch über eine Tabelle:
Code:
DateTime | UserId | Worked
Bei jedem Login schreibst du dann auch eine Zeile in die Tabelle `log`. Die UserId beziehst du anhand des Namens.

Beim Admin- Bereich überprüfst du dann ob der angemeldete Benutzer überhaupt Zutritt hat:
PHP-Code:
  if($_SESSION['user']['isAdmin'] == 1)
  {
      
//Zurtitt
  
}
  else
  {
      echo 
"Sie sind nicht berechtigt";
  } 
Noch eine kleine Anmerkung zu der Seite:
Includiere ( sagt man das so?! ) keine Dateien, ohne sie vorher zu überprüfen:
Zitat:
Zitat von http://radioscaleo.ra.funpic.de/index.php?site=afg.php
Warning: include(content/afg.php) [function.include]: failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/radioscaleo/modules/showsite.php on line 7

Warning: include() [function.include]: Failed opening 'content/afg.php' for inclusion (include_path='.:') in /usr/export/www/vhosts/funnetwork/hosting/radioscaleo/modules/showsite.php on line 7
PHP-Code:
 switch($_GET['site'])
 {
    case 
'news': include('newws.php'); break;
    case 
'teacher': include('teacher.php'); break;
    default: include(
'start.php'); break;
 } 
zwerg ist offline  
Alt 19.10.2008, 14:57  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Mein Vorschlag Binärwerte:

Tabelle-->Spalte: RECHTE: 100111

Dann zerlegst du einfach den Inhalt aus RECHTE in einzelne Zahlen.
Jede dieser Zahlen steht nun für ein Recht, z. B. erste Zahl für das Ansehen von Forumposts. Die zweite vielleicht für das Schülercenter usw.

1 --> ja, Nutzer hat das Recht
0 --> nein, Nutzer hat das Recht nicht
PTC ist offline  
Alt 19.10.2008, 17:21  
Erfahrener Benutzer
 
Benutzerbild von djscaleo
 
Registriert seit: 19.10.2008
Beiträge: 384
PHP-Kenntnisse:
Fortgeschritten
djscaleo kann nur auf Besserung hoffen
djscaleo eine Nachricht über ICQ schicken djscaleo eine Nachricht über Skype™ schicken
Standard

Hi Leute!
Erst mal danke für die vielen Antworten!

Jetzt hab ich aber das Problem, dass ich keine Ahnung habe, wie ich diesen Passwortschutz machen soll.

eigentlich atte ich mal einen funktionierenden, ohne Klassensystem, aber der funktionert auf der neuen Homepage auch nicht mehr...

Also lautet jetzt meine Frage:
Hat jemand ne verstänliche Anleitung für nen Comunity-Passwortschutz(mit 5 Verschiedenen Klassen oder besser mit diesem Binärsystem) für Dummköpfe?

Schon mal Danke: Djscaleo

P.S.: Wer sich meine Passwortschutz mal ansehen will:
Hier sind die Scripte für Login, und Logout, sowie die functions. Die überprüfung fehlt aber!
Und hier noch mal der Link zur HP (Geschrotteter PSW-Schutz ist noch sichtbar!)
djscaleo ist offline  
Alt 19.10.2008, 17:58  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Das wo ich es mal gesehen habe( selfphp.de ), finde ich es nicht mehr(zumindest glaube ich, dass es dort war).
Glaube aber es wird nicht so schwer, dass selbst zu programmieren.

Zusatz: Das tolle an dem System ist, dass man bestimmten Personen zusätzliche Rechte verleihen kann, weil es nicht so gruppengebunden ist. (Das wollte ich noch loswerden!)
PTC ist offline  
Alt 19.10.2008, 19:22  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.988
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Diese Lösung ist nicht so toll, PTC. Da gabs hier im Board schon mal ne Diskussion darüber.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 19.10.2008, 19:36  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Mit #Avedo, oder welche Diskussion.
PTC 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
Brauche hilfe mik08 PHP Tipps 2008 10 27.07.2008 16:17
Datenbanktabelle erstellen - brauche Hilfe Raccoon PHP Tipps 2008 1 14.06.2008 11:03
Ich brauche eure Hilfe beim rechnen... GELight PHP Tipps 2006 6 07.04.2006 14:20
Ich brauche eure Hilfe PHP Tipps 2006 22 19.02.2006 19:57
PHP <--> MySQL | Brauche Hilfe ahnungsloser Datenbanken 18 16.02.2006 21:49
brauche eben hilfe PHP Tipps 2007 2 26.11.2005 08:36
brauche sehr schnell und dringend hilfe Beitragsarchiv 13 24.10.2005 13:11
HILFE ! Brauche ganz dringend hilfe! PHP Tipps 2005-2 2 10.10.2005 23:08
brauche hilfe!!! marcelglaeser HTML, Usability und Barrierefreiheit 0 03.10.2005 20:01
BRAUCHE DRINGENDE HILFE !!! PHP Tipps 2005-2 2 06.08.2005 19:45
Brauche Hilfe bei preg_match() PHP Tipps 2005-2 2 23.07.2005 22:44
Brauche dringend Hilfe, Aufgabe fürs Studium (Upload-Script trivial Beitragsarchiv 23 23.06.2005 16:25
[Erledigt] Brauche dringend Hilfe PHP Tipps 2005 19 01.02.2005 20:21
Brauche Hilfe PHP Tipps 2005 5 11.01.2005 15:30
Brauche Hilfe - kenne mich nicht aus - zahlen auch dafür Beitragsarchiv 1 09.08.2004 16:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php hilfe passwort, radioscaleo, php passwort kontrolle

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:09 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