php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.10.2006, 16:46  
Benutzer
 
Registriert seit: 13.12.2005
Beiträge: 65
buggybugga
Standard Rechteverwaltung mit PHP/MySQL realisieren...wie?

Hallo,

eigentlich habe ich nur eine kurze Frage, zu einem etwas größeren Thema. Unzwar möchte ich eine Datenbank erstellen, die über PHP zu erreichen ist (sprich das gewöhnliche, wie Formulare, Listings, etc.). Dabei sollen aber bestimmte Benutzer nur auf bestimmte Bereiche zugreifen können und nur bestimmte Rechte zugewiesen bekommen.

Meine Frage dazu ist. Über welche Funktionen sollte ich mich vorweg schlau machen und gibt es eventuell gute Manuals oder Doku, die dieses Thema mitunter anschneiden?

Meine Kenntnisse umfassen bisher simple Formulare und deren Bearbeitung in den Datenbank (hinzufügen, ändern, löschen) oder eben Dateiuploads. Der Rest ist eher Kleckerkram oder eher nur angeschnitten.

Vorweg schonmal ein großes Danke.
buggybugga ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 11.10.2006, 16:55  
Erfahrener Benutzer
 
Registriert seit: 10.07.2003
Beiträge: 280
freq.9
freq.9 eine Nachricht über ICQ schicken freq.9 eine Nachricht über MSN schicken
Standard

Wenn du die Rechteverwaltung intern in MySQL meinst, dann sollest du dir da mal GRANT anschauen. Wenn du die Rechteverwaltung auf PHP Basis (also wer darf dieses Formular sehen?) dann sind dies einfache if-Anweisungen in denen du Prüfst, ob der Benutzer Rechte hat. Dafür solltest du die Rechte in einer geeigneten Form, die auch erweiterbar ist, speichern.
freq.9 ist offline  
Alt 12.10.2006, 08:20  
Benutzer
 
Registriert seit: 13.12.2005
Beiträge: 65
buggybugga
Standard

Mhhh...if-Anweisungen. Wie kann ich mir das vorstellen bei PHP und Rechten!?! Eine externe (und require(te)) PHP-Datei in denen die Rechte verfasst sind?

Wenn ja, wie soll ich das anstellen? Ich mein, die Sache mit der Datenbank hab ich soweit begriffen, das dort halt dementsprechend die Rechte auf spezielle Tabellen gesetzt werden und dort auch noch explizit die Lese-/Schreibzugriffe geregelt werden. Aber meine Vorstellung ist ziemlich kompliziert und sehr ungenau, deshalb frag ich hier ja nach.

Da muss ich sicherlich die Sessions benutzen, um da eine gescheite Form eines Logins zu gestalten, oder? Und dann per IF abfragen bspw.:

IF (benutzer=$gruppe_a){
...und dann entsprechend die Seite/Funktion ausführen...
}

In der seperaten PHP Datei stell ich mir das so vor, dass man eventuell Gruppen erstellt (arrays) und in diesen die Benutzer speichert. Auf der Website wird dann eben dieser Array aufgerufen, um festzustellen, ob der angemeldete Benutzer nun aus der berechtigten Gruppe ist oder nicht.
buggybugga ist offline  
Alt 12.10.2006, 09:09  
Erfahrener Benutzer
 
Registriert seit: 03.04.2006
Beiträge: 222
<Daniel>
Standard

Sagen wir mal du hast eine Datenbank in der eine Tabelle names user existiert.
So nun hast du in dieser Tabelle folgende Attribute:
- Vorname
- Nachname
- Nickname
- E-Mail
...
- Benutzergruppe

Jetzt hast du sagen wir mal zwei Benutzergruppen (ganz simpel halt ^^), einmal die Admins und die User.
Dann sagst du einfach, wenn es ein Admin ist, steht in Benutzergruppe eine '1', wenns ein User ist, eine '2'.

Jetzt hast du deinen "gesicherten" Bereich wo nur die Admins zu tritt haben. Dann überprüfst du einfach anhand des Nicknames, ob der eingeloggte User ein Admin oder User ist. Z.B:

PHP-Code:
<?php

if (!isset$_SESSION["nickname"]) {
 
 echo 
"Bitte erst einloggen!";

} else {
 
 
$nick $_SESSION["nickname"];
 
$sql "SELECT benutzergruppe FROM user WHERE nickname = '$nick'";
 
$abfrage mysql_query($sql);
 
$row mysql_fetch_assoc($abfrage);
 
 if (
$row["benutzergruppe"] == "1") {
  include 
"adminbereich.php";
 } else {
  echo 
"Kein Zutritt";
 }
}
?>
&lt;Daniel&gt; ist offline  
Alt 12.10.2006, 13:58  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 578
WarrenFaith
WarrenFaith eine Nachricht über ICQ schicken
Standard

http://www.developers-guide.net/foru...ysql#post40189
Dort wurde das Thema auch gerade behandelt. Dort wird etwas mehr auf den dynamischen Aspekt eingegangen.

Da ich nicht weiß, wie weit deine PHPKenntnisse sind, sollte dir als anschauliches Beispiel eigentlich auch das von <Daniel> reichen.
__________________
Developers-Guide.net
Senseless
WarrenFaith ist offline  
Alt 15.10.2006, 00:41  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
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

Trotz des im verlinkten Thread genannten Nachteils finde ich persönlich die Methode mit bitweiser Vergabe von Rechten ziemlich gut- muß man sich halt vorher gut Gedanken machen über die umzusetzenden Nutzerkreise:
Jeder zu realisierende Nutzerbereich enthält eine Stufe einer Reihe von Bits z.B.
1 angemeldet
2 Autor
3 Moderator
4 Superuser
5 Admin

Es ergibt sich z.B. 00111 = (int) 7 was in der Datenbank abgelegt dem Status des Moderators entspricht (einschließlich der Reche von User und Autor).
Zu schützende Bereiche bekommen ebenso eine Nummer z.B. 11000 = (int) 24, was bedeutet daß nur User mit den hochwertigen Bits 4 und 5 den Bereich aufrufen dürfen. Das Gute ist nun, daß ein Binär-Und schon während der DB Abfrage
'SELECT [...] Username , IF(UserStatus & 24 > 0,'Y','N') AS Permitted[...]' so ein Zugriffs-OK ausspucken kann. Ohne viel Schnickschnack.
Und ich kann z.B. soweit gehen, daß Personen Moderator, aber nicht Autoren sein dürfen u.ä.
Den Admin Account habe ich übrigens implizit gelöst, d.h. jeder Bereich erhält automatisch das entspr. Bit des Admins durch Addition (hier + 16), so gibts keine Bereiche, die den Admin ausschließen.
nikosch 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
[Erledigt] Transparente Runde Ecken bei Thumbnial realisieren tomtaz PHP Tipps 2008 3 08.07.2008 01:20
Wie Freundesnetzwerk realisieren? becks123 PHP-Fortgeschrittene 17 25.04.2008 13:57
Wie Powersuche realisieren? becks123 Datenbanken 1 25.06.2007 11:38
&amp;amp;amp;amp;amp;quot;BB-Code&amp;amp;amp;amp;amp;quot; realisieren Tobias Tutorials 51 21.08.2006 13:23
"Ungelesen"-Funktion realisieren R4v3r Datenbanken 2 29.03.2006 22:42
Buchempfehlung PHP/MYSQL ? Off-Topic Diskussionen 13 29.05.2005 04:18
Login realisieren! PHP Tipps 2005 4 04.05.2005 13:45
freie Aushilfe PHP/MySQL gesucht (Schüler/Student) Raum NRW Beitragsarchiv 1 29.03.2005 01:10
[Erledigt] nach oben &amp;amp;amp;&amp;amp;amp; nach unten verschieben realisieren PHP-Fortgeschrittene 8 26.01.2005 22:22
Programmierer für einfache kleinere PHP/MySql Arbeiten gesuc Beitragsarchiv 4 10.01.2005 20:01
Entwickler für PHP/MySQL gesucht Beitragsarchiv 0 10.01.2005 16:19
DB Ausgabe in eigenem Templatesystem realisieren Corvin PHP-Fortgeschrittene 25 06.09.2004 18:48

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php rechteverwaltung, rechteverwaltung php, mysql rechteverwaltung, php mysql rechte, 1 2 4 8, rechteverwaltung mysql, mysql rechteverwaltung datenbank, rechte verwaltung mittels datenbank, mysql benutzergruppen, php rechteverwaltung tutorial, php mysql rechteverwaltung, php mysql user rechte, php rechte verwaltung, rechteverwaltung datenbank, rechteverwaltung mit php, php benutzergruppen berechtigungen, mysql rechte php, rechteverwaltung php mysql, http://www.php.de/php-tipps-2006/42474-rechteverwaltung-mit-php-mysql-realisieren-wie.html, benutzergruppen mysql

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.