Rechte
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgeben
benutzer
berechtigung
code
datei
datenbank
erstellen
formular
freuen
gruppe
http
jemand
login
schritt
system
tabelle
unterscheiden
url
verschiedene gruppen
zugreifen
-
Hallo zusammen
Ich will auf meiner Homepage machen das man bestimmte Berechtigungen braucht um
auf verschiedene Seiten zu gelangen. Aber leider habe ich leine Ahnung wie das gehen soll.
Also ich will das es verschiedene Gruppen gibt die je nachdem auf jeweilige seiten zugreifen können.
Ich sollte die Gruppen auch verwalten können und___ ja.
Gibt es da ein Programm oder muss man da... egal, einfach eine erklärung ;)
Danke im voraus
Lg swissmcs
Beitrag zuletzt geändert: 3.7.2012 20:21:02 von swissminecraftserver -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also zum selber programmieren:
Du speicherst in einer Datenbank die Benutzer (Name, Passwort) in einer Tabelle und die Gruppen in einer zweiten Tabelle wo die Berechtigungen festgelegt sind. Bei jedem Benutzer steht dann zu welchen Gruppen er gehört.
Dann machst du ein Login-System wo sich jeder zuerst mit seinem Namen und Passwort einloggen muss bevor er irgendwas sehen kann. Danach werden ihm die Seiten auf die er Zugriff hat angezeigt. Damit die Seiten aber nicht von jedem angesehen werden können der die URL kennt müssen diese per PHP-Proxy ausgegeben werden das die Gruppenzugehörigkeit prüft und der normale direkte Zugriffe muss gesperrt sein. -
Geht das nicht auch irgenwie einfacher?
Ich kenne mich nicht so gut mit Datenbänken aus, also muss ich da ein neue Tabelle erstellen und dann
Die namen eintraggen die Rechte und die Gruppe?
Oder wie? -
Das mit den Datenbanken ist eigendlich nicht schwer!
Hier kannst du mal nachschauen und lernen. Das ist dort einfach und übersichtlich beschrieben.
Beitrag zuletzt geändert: 3.7.2012 21:08:24 von fuhnefreak -
PHP für dich ist die perfekte Seite um in PHP oder MySQL einzusteigen.
Für eine solches Rechte-System benötigst du nicht mehr von MySQL als das was die gute Frau da aufgeschrieben hat.
Einfach die Datenbank bzw. Tabelle falls eine DB bereits besteht wie oben schon erklärt anfertigen und die Rechte eintragen.
Dann per PHP auf den einzelnen Seiten die Rechte die ein User hat aus der DB abfragen und mit den Rechten die man auf der Seite braucht vergleichen.
Wie sehen deine Fertigkeiten in PHP aus? -
Mit php komme ich einwenig draus
aber:
Was für rechte, also die Seite die sie betreten dürfen?
Also muss ich eine PHP Datei erstellen die die Daten der Nutzer speichert
und dann in die Mysql DB einschreibt
Und dann eine Tabelle wo jeder Benutzer einer Gruppe zugewiesen ist?
Aber wie mache ich das mit den Berechtigungen und dem Login und den Gruppen?
Ich würde mich freuen wenn mir das jemand genau erklären könnte
schritt für schritt...
lg swissmcs -
Möchtest du nur zwischen 2 Gruppen unterscheiden?
Also sozusagen nur eine weitere Gruppe schaffen, die dann alle Seiten sehen darf? Im Gegensatz zu den anderen?
Dann benötigst du ja nur ein Login-System. Alle, die eingeloggt sind, dürfen dann den vollen Teil deiner Seite sehen.
Falls du dann auch noch zwischen den eingeloggten Usern unterscheiden möchtest, musst du eben noch einen Eintrag in der
DB Tabelle der User machen, oder, falls du es ganz komplex haben willst. Und es viele verschiedene Gruppen geben soll, wobei auch ein User in mehreren Gruppen vorkommen kann, benötigt das eine eigene Tabelle.
Login Systeme kannst du dir notfalls auch aus Vorlagen aus dem Netz zusammen basteln. Jedoch weisst du dann nicht über die Sicherheit dieses Systems bescheid, wenn du den Code nicht vollständig interpretiert hast.
Aber wie gesagt, das Login-System brauchst du so oder so, um deine User zu unterscheiden.
Wenn du jetzt noch verschiedene Gruppen haben möchtest, solltest du dir erstmal ein bisschen MySQL reinziehen. -
Kann ich nicht das so machen das ich die Ip von denen die diese Rechte haben sollten (Das bin nur ich)
in eine Tabelle mache und nur die dessen Ip ich eingetragen habe auf diese Seite zugreifen können.
Also das man sich nicht einloggen muss sondern das ich mich eintrage das ich auch auf andere daten zugreifen kann.
Also eigentlich 1 Gruppe die aus 1 Person besteht. Die restlichen sollten nicht oder keinen zugriff haben auf bestimmte seiten.
lg swissmcs
Beitrag zuletzt geändert: 5.7.2012 16:16:33 von swissminecraftserver -
swissminecraftserver schrieb:
Ich würde mich freuen wenn mir das jemand genau erklären könnte
schritt für schritt...
Mit diesem Thema haben sich schon andere Leute beschäftigt, und es gibt dazu auch Tutorials im Internet. Recht brauchbar scheint mir dieses zu sein:
http://www.php.de/php-fortgeschrittene/47234-binaeres-rechtesystem.html
Kannst auch schauen, ob dich weitere Suchergebnisse weiterbringen. -
Scheint sehr komplex zu sein...
Geht das nicht einfach wie ich es gesagt habe:
z.B.
"swissminecrfat.lima-city.de/nurFuerMich"
Kann keiner drauf aber ich schon.(Mehr brauche ich gar nicht)
es kann auch nur 1 Verzeichnis sein.
Lg swissmcs
-
swissminecraftserver schrieb:
Geht das nicht auch irgenwie einfacher?
Ich kenne mich nicht so gut mit Datenbänken aus, also muss ich da ein neue Tabelle erstellen und dann
Die namen eintraggen die Rechte und die Gruppe?
Oder wie?
Einfacher? Einfacher kann es eigentlich nicht gehen!
Wie swissmcs schon sagte speicherst du einfach die Berechtigung in die DB. Im PHP Code müsstest du dann einfach eine Abfrage der Rechte machen die so aussehen könnte:
if ($benutzer_rechte == "admin") { // Gebe Seite für admins aus } else if ($benutzer_rechte == "user") { // Gebe seite für den normalen User aus } // Weitere Rechte
-
Über die IP würde ich es nicht unbedingt machen. Denn, falls du eine dyn IP hast, müsstest du alle wissen und notieren, und falls du eine feste hast, kannst du auch nur über diesen einen PC rein.
Wenn es nur um dich geht, dann kannst du ja auch ein kleines Passwort nehmen, dass du jedes mal wenn du auf die Seite willst eingeben musst. Dadurch hast du dann eben den Vorteil, dass du auch mal von nem anderen PC drauf zugreifen kannst, und nicht die Probleme mit den IP's hast.
kannst dann, wenn du es wirklich einfach halten willst einfach in html am Anfang ein Formular machen, und dann danach in PHP eine kleine Abfrage.
<form action = "datei.php" method = "POST"> <input type = "password" name = "passwort" value = "" /> <input type = "submit" name = "submit" value = "Senden" /> </form> <?php if( (isset($_POST['submit']) ) AND ($_POST['password'] == "passwort") ) { // SEITE AUSGEBEN } ?>
Also so ungefähr. Geht natürlich noch schicker und ich hab es nicht auf Fehler geprüft, aber sollte eigentlich so funktionieren.
Wenn du dich ein bisschen mit PHP auskennst, wirst du das ja verstehen können.
-
Vielen dank so werde ich es wahrscheinlich machen.
Ok
Soll ich das auf die Seite machen wo ich gesichert haben will?
Beitrag zuletzt geändert: 5.7.2012 22:53:27 von swissminecraftserver -
Ja, so sieht es wohl aus...
-
Also wo kann ich jetzt mein Passwort definieren?
Lg swissmcs
(Dies war vorher ein grösserer Beitrag aber da nun einige der Fragen geklärt wurden habe ich ihn gekürtzt
nur das es für alle Mod usw. klar ist)
Nur noch als neben Sache:
Wie kann ich Variabeln in PHP abrufen?
Also ich habe ein xx.php und dort habe ich die variable $error drauf
und will den wert von $error auf y.php bringen
aber ohne include.
Beitrag zuletzt geändert: 6.7.2012 1:15:00 von swissminecraftserver -
Bitte ausführlichere Antworten geben, sonst sehe ich mich gezwungen die Kurzbeiträge zu löschen oder den Thread zu verschieben.
Bitte auch das zitieren auf das man sich bezieht.
Bei Nachfragen PN an mich oder zuständigen Moderator.
MfG Stephan -
Dein Passwort kannst du jetzt in dem Code, den ich geschrieben hab
(der eher als Referenzmittel dienen sollte)
in Zeile 10 bei der If-Bedingung in der zweiten Abfrage definieren.
Also nach dem AND , da wo im moment noch "passwort" steht, eben dein neues Passwort zwischen die
doppelten Anführungszeichen schreiben.
Zur zweiten Frage:
Willst du von der Seite xx.php auf die Seite y.php wechseln und dabei noch deine Variable übergeben?
Also das könntest du entweder ganz simpel über die URL und dann in y.php mit der GET Request machen, oder über ein Formular dann auch per POST.
Wenn du es über die URL machst ist es zwar weniger schreibarbeit, allerdings ist dann der komplette Inhalt deiner Variable in der URL-Leiste zu sehen, falls die nicht zu lang ist, und dich das nicht stört, kannst du es auf diesem Weg machen.
Dann einfach den Link per echo ausgeben:
echo '<a href = "y.php?error='.$error.' "> Seite Y </a>';
Und dann in deiner Datei y.php
$error = $_GET['error'];
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage