Jump to content
powie.de Tech Forum
Sign in to follow this  
horus-)dg(

FILERIGHTS

Recommended Posts

Hallo Thomas

Ich habe mir Zu Deinem Loginlevel mal ein paar gedanken gemacht.

Wäre es nicht praktisch wenn man von vorneherein sagen könnte wer auf eine Datei Zugriff hat.

Macht natürlich nur Sinn wenn man nicht hunterttausend Leute hat, die man darauf berechtigen will.


Das Script basiert auf Deinem Loginlevel.php, hoffe Du bist nicht böse, dass ich es abgewandelt habe.

Habe es nur soweit abgeändert dass es überprüft ob jemand der in einem File eingetragen ist Zugang erhalten soll.


Im zu schützenden PHP-File wird an den Anfang folgender Code gesetzt:

 




Die Pfade müssen evtl. angepasst werden, ich habe bei mir absolute Pfade verwendet nicht so wie es im Script steht. Weis also nicht obs damit auch geht.

Die Datei filerights.php ist nur eine abgewandelte Version von loginlevel.php

und sieht so aus.



Code für die Datei filerights.php -> Muss im User-Verzeichnis liegen.
 ''";
$ergebnis  = mysql_query($sqlbefehl, $serverid);
$user = mysql_fetch_array ($ergebnis);

if (mysql_num_rows($ergebnis) != 1 ) { 
       require ($_SERVER['DOCUMENT_ROOT']."/user/kopf.php");

          UserMsgBox("Nur registrierte User mit Zugangsrecht haben auf diese Datei Zugriff!");

       echo "Login



              Login
              User: 

              Passwort: 

              Login speichern: 


              $copyright";
       require ($_SERVER['DOCUMENT_ROOT']."/user/fuss.php");
       exit;
     }

// ######## Ab hier wurde der Login wohl durchgeführt.
// Es muss nun geprüft werden ob jemand angemeldet ist.
// Geprüft soll am bessten nach einem Array werden, dass heißt wer in diesem Array vorkommt hat Zugriff.
// Die User die Zugriff haben befinden sich im Array $ZugangHat
if (mysql_num_rows($ergebnis) == 1) {

 $ZugangErlaubt=0; // Erst mal verbieten
 if($xxx = array_search($user[username],$ZugangHat)) { 
   $ZugangErlaubt=1;
   $expire=$zeit+800;
   $sqlbefehl= "update $tab_user set expire='$expire' where id = '$user[id]'";
   $ergebnis  = mysql_query($sqlbefehl, $serverid);
 }   // Der Name kommt im Array vor 

 if($ZugangErlaubt == 0) { //Kommt der User nicht vor, dann Meldung ausgeben und Vorgang abbrechen.
require ($_SERVER['DOCUMENT_ROOT']."/user/kopf.php");
UserMsgBox("Hallo $user[username] Du hast leider keine Zugriffsrechte auf diese Datei.");
die (""); // Stirb 

 

Verbesserungsvorschläge für Filerights.php sind natürlich gerne gesehen, ausser Du schmeißt das Ding gleich wieder raus.


Bei mir läuft das Ding prima. :D

Share this post


Link to post
Share on other sites

Wie gesagt, Du kannst es natürlich rausschmeissen, weil es ja eigentlich gegen Deine Lizenzbestimmungen verstößt.

Ändern Deiner Scripte.


Mir war es eben nur wichtig gezieltere Maßnahmen zu ergreifen um Userrechte einzubinden.

Loginlevel ist auch nicht schlecht, lässt aber nicht gezielt Leute zu.


Vielleicht prüfst Du das Teil ja mal auf Herz und Nieren und baust es von haus aus in Deine Scripte mit ein,

dann ist es kein Verstoß mehr hehe :-)

Share this post


Link to post
Share on other sites

Hallo Leutz.

Tja wie sich herausstellt funzt das Teil doch nicht so ganz.

Das heißt das mit den Rechten geht einwandfrei,

aber wenn man sich nicht am Forum oder sonst wo in den Scripten von Powie einloggt funktioniert es nicht 100%

Der Login oder das Cookie wird wohl nicht richtig hinterlegt. (oder noch nicht hinterlegt)


Wenn man sich einloggt, dann bekommt man die Seite kurz angezeigt,

aber nach einem Refresh ist alles wieder weg und es kommt wieder die Aufforderung zum Login.


Kann mir da bei Gelegenheit mal jemand einen Tipp geben woran das liegen kann,

oder noch besser, wie ich das beheben kann.

Wär Supertoll - Danke

- Editiert von Horus-)DG( am 03.09.2006, 20:16 -

Share this post


Link to post
Share on other sites

Wollte hier nur nochmal anmerken, dass das Skript mit den neuen pScripten nun doch einwandfrei funktioniert


Die Abfrage muß nur komplett am Anfang einer Seite stehen, dann gehts auch.

Es darf vorher kein anderer Include vorkommen.

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×