Loginskript aber nur Leserechte - wie geht das?
Karin
- php
Hallöchen,
ich habe das Login Tutorial von Karl Förster benutzt - damit hat jeder, der sich einloggen darf die Standardrechte lesen/schreiben. Nun möchte ich aber, dass alle Personen, die sich einloggen dürfen auf alle Tabellen nur Leserechte haben und nur auf spezielle Tabellen auch Schreibrechte.
Geht das per chmod ("tabelle", 0444);
wenn ja, wie setze ich das konkret ein?
Oder jede einzelne Tabelle der Datenbank per
$tab = fopen("tabelle","r"); // öffnen der Tabelle tabelle im Modus "r"
fclose($tab); //und wieder schließen
Auf eure Hilfe hofft die
Karin
wo findet man dieses Tutorial?
hi,
wo findet man dieses Tutorial?
im zweifelsfalle über http://www.google.de/search?q=Login+Tutorial+von+Karl+F�rster&ie=ISO-8859-1&hl=de&meta= ;-)
gruß,
wahsaga
Hallo,
wo findet man dieses Tutorial?
im zweifelsfalle über http://www.google.de/search?q=Login+Tutorial+von+Karl+F�rster&ie=ISO-8859-1&hl=de&meta= ;-)
wenn mir jemand helfen soll, kann ich nicht verlangen, dass der erst googeln muss ;)
Hello,
ich habe das Login Tutorial von Karl Förster http://www.tutorials.de/tutorials9684.html benutzt - damit hat jeder, der sich einloggen darf die Standardrechte lesen/schreiben. Nun möchte ich aber, dass alle Personen, die sich einloggen dürfen auf alle Tabellen nur Leserechte haben und nur auf spezielle Tabellen auch Schreibrechte.
Geht das per chmod ("tabelle", 0444);
wenn ja, wie setze ich das konkret ein?Oder jede einzelne Tabelle der Datenbank per
$tab = fopen("tabelle","r"); // öffnen der Tabelle tabelle im Modus "r"
fclose($tab); //und wieder schließen
- geht dieses überhaupt (oder ist dieses lediglich mit txt.Dateien möglich)?
Ich habe das zwar eben überflogen, aber von Rechten konnte ich da gar nixhts shen, mit Ausnahme des Rechtes zur Anmeldung.
Diese Scripte ermöglichen nur die Benzuteridenifikation.
Für irgendwelche Rechte müsst Du Dir noch ein System dazu anlegen.
CREATE TABLE benutzerdaten (
Id Int(11) NOT NULL auto_increment,
Nickname VarChar(50) NOT NULL default '',
Kennwort VarChar(50) NOT NULL default '',
Nachname VarChar(50) NOT NULL default '',
Vorname VarChar(50) NOT NULL default '',
PRIMARY KEY (Id)
)
Man könnte nun eine weite Tabelle anlegen, in der die Usernummer (Id) als Fremdschlüssel steht. Dann kann man eine dritte Tabelle anlegen,
(Table USER_RESS)
ID_USER_RESS
ID_USER
RESSOURCE
und eine dritte Tabelle, in der die Rechte stehen
(table RIGHTS)
ID_RIGHT
ID_USER_RESS
RIGHT_DESCR
FUNCTION_BODY
user----+---->USER_RESS----+---->RIGHTS (view)
| |
| +---->RIGHTS (alter)
| |
| +---->RIGHTS (delete)
|
|
+---->USER_RESS----+---->
| |
und so weiter.
Eigentlich müsste man da die Funktionen als solche auch noch normalisieren, da es ja immer dieselben sind, nur für unterschiedliche Ressourcen.
Man ordnet dem User alse verschiedene Ressourcen zu
Der Ressource-User-Kombination ordent man Rechte zu
Die Rechte greifen auf Standardfunktion wie Öffnen, Lesen, Schreiben, Kürzen, Anhängen, Löschen, usw. zu. Außerdem könnten auch Trustie-Rights vergeben werden: Rechte für User erteilen und entziehen usw.
Man kann sich das Ganze auch einfacher machen:
Ordne jedem User einen "Userlevel" zu und bestimme dann, mit welchem Level er was darf.
Und dann ordest Du den Ressourcen Gruppen zu un den Usern auch.
Wenn die Ressourde zu Gruppe A gehört, der User auch, dann darf er alles, was man in
Gruppe A mit dem passenden Level machen darf.
Ich hoffe, ich konnte Dir helfen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Tom,
herzlichen Dank für deine Mühe!
Ich habe das zwar eben überflogen, aber von Rechten konnte ich da gar nixhts shen, mit Ausnahme des Rechtes zur Anmeldung.
Diese Scripte ermöglichen nur die Benzuteridenifikation.
richtig, da habe ich mich wohl doof ausgedrückt, sorry ... wollte nur für alle Fälle mitteilen, womit ich arbeite
überhaupt haben Benutzer die ich auf php-Formulare lasse ja Schreibrechte ...
Für irgendwelche Rechte müsst Du Dir noch ein System dazu anlegen
Ich hoffe, ich konnte Dir helfen.
ich werde das mal ausprobieren ... puh, das wird dauern ...
und: aber ja, natürlich bist du eine Hilfe: jeder Gedanke zählt!
Grüße
Karin
Hello,
Für irgendwelche Rechte müsst Du Dir noch ein System dazu anlegen
Ich hoffe, ich konnte Dir helfen.ich werde das mal ausprobieren ... puh, das wird dauern ...
und: aber ja, natürlich bist du eine Hilfe: jeder Gedanke zählt!
Das wesentliche ist, dass Du daran denkst, dass alles erstmal unter einem einzigen Benutzer läuft, nämlich dem HTTP-Deamon. Denn Deine Websitebesucher haben keine eigenen User bei OS oder DB, sie kommen alle über HTTP und münden in EINEM User. Nur durch Identifikation und Sessions kann man jetzt wieder die Scripte dazu erziehen, dass sie sich über die "Userrechte" des einzelnen informieren, bevor sie eine Aktion ausführen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom