Karin: Loginskript aber nur Leserechte - wie geht das?

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

  • geht dieses überhaupt (oder ist dieses lediglich mit txt.Dateien möglich)?

Auf eure Hilfe hofft die
Karin

  1. wo findet man dieses Tutorial?

    1. 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

      --
      I'll try being nicer if you'll try being smarter.
      1. 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 ;)

  2. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. 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

      1. 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

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau