wilddog
Goto Top

Hilfe beim erstellen eines Admin-Panels

Guten Tag, erst einmal ein großes HALLO an die Community...
Verfolgen tue ich diese Seite schon eine Weile, angemeldet war ich zu der Zeit jedoch nicht. Daher weiß ich das mein Anliegen nun wohl möglich unpassend sein wird.

Ich habe die Aufgabe ein sogenanntes Admin Panel zu bauen. Ich als absolut unerfahrener Webdesigner habe mich daher erst an ein Template gewagt, was jedoch stark von meinem Ziel entfernt lag. Daher versuchte ich mich mit einem normalen Bau von ein paar Seiten.

Soweit so gut, habe mir eine Login Seite gebaut, eigentlich das komplette Konstrukt. Nun stehe ich vor einem großen Problem...
Datenbanken... Logins, Registration und Abfragen benötigen eine Datenbank...

Daher meine bitte... Gäbe es jemanden der sich meiner Annimmt und sich mit mir per Skype und möglichem Teamviewer kurzschließt und mir nicht nur Erklärt was dort zu machen ist?
Bitte nicht falsch verstehen, ich möchte es auf jeden Fall in Zukunft können, ich bitte wirklich nur um eine Art "Tutor" der mir Schritt für Schritt erklärt was ich wieso zu machen habe.

Mir ist bewusst das viele hier deutlich besseres zu tun haben. Daher hoffe ich nicht missverstanden zu werden...


Lieben Gruß
Stefan

Content-ID: 353757

Url: https://administrator.de/contentid/353757

Printed on: December 7, 2024 at 07:12 o'clock

kaiand1
Solution kaiand1 Nov 05, 2017 at 21:11:46 (UTC)
Goto Top
Hi
Also eine Anmeldung ist so nix Besonderes jedoch die Sicherheit wegen Hacks Prüfung schon eher was.
Je nach vorhaben würde auch eine Erweiterung eines vorhandenes System ja auch reichen da das Rad nicht immer neu Erfunden werden muss.
zb Forum als Grundfunktion nehmen und dann eigenen Bereich als Erweiterung zucoden.

php-einfach login

Solche Seiten gibt es Haufenweise und wenn du nicht so Fit bist sollte erst mal die Grundlagen Lernen da es ja auch Sicher sein soll und nicht gleich jeder Umgehen soll ;)
eisbein
eisbein Nov 06, 2017 updated at 05:44:17 (UTC)
Goto Top
Guten Morgen!

Du kannst auch deinen Code hier posten und so vom Wissen Vieler provitieren.
Es gibt bekanntlich immer mehrere Ziele zum Ziel.

Gruß
eisbein
Pedant
Pedant Nov 06, 2017 at 08:06:34 (UTC)
Goto Top
Hallo Stefan,

... Ich als absolut unerfahrener Webdesigner ... habe die Aufgabe ein sogenanntes Admin Panel zu bauen
Du kannst weder php noch SQL, Du hat keine Ahnung von Javascript und von Design und Dein HTML generierst Du bisher mit Templates?
Wer und warum hat denn da den Bock zum Gärtner gemacht?

Die Frage ist nicht nur durch Neugier motivert, sondern hat auch mit dem Lösungsweg zu tun.
Ich vermute die Aufgabe stammt aus dem gewerblichen Umfeld?

Wo soll das also hinfühen?
- Bist Du Praktikant und möchtest Dich tatsächlich in Richtung Webdesign entwickeln?
(Gibt es bei Euch keinen der Dich anleiten kann?)
- Bist Du Angestellter in einer kleinen Firma und dort König im Land der Blinden und hast deswegen Du diese Aufgabe erhalten?

Was ich letztendlich fragen möchte ist Folgendes:
Freust Du Dich über diese Aufgabe und möchtest Du das extrem weite Feld der Web-Programmierung/-Gestaltung kennenlernen und dieses Handwerk erlernen?
(Es wird diverse Woche dauern, bis Du Dich als Anfänger bezeichen kannst.)

oder

Geht es nur darum, dass die Aufgabe erledigt wird und weder Deine Arbeigeber noch Du haben Interesse daran, dass Du Webdesigner wirst?

sogenanntes Admin Panel
Was mag das sein?

Soll es nur intern erreichbar sein oder auch über's Internet?
Geht es nur darum Informationen darzustellen und eventuell Informationen abzulegen
oder soll mit diesem Panel auch irgendwas administriert werden?

Ich meine, einen Login zu programmeren ist eine Sache, aber wenn das erledigt ist, was kommt dann?
War's das dann oder fängt dann die Arbeit erst an, also administrative Funktionalitäten zu programmieren, um was auch immer zu regeln, steuern, ändern, verwalten?


Abschließend:

- Möchtest Du dabei etwas lernen oder möchtest Du nur die Aufgabe erledigen und dann ist das Thema durch?
- Welches Ziel mag wohl Dein Auftraggeber dabei verfolgen, Dir die Aufgabe zugeteil zu haben?
- Beschreib bitte Deine Aufgabe so genau wie möglich, denn "Adminpanel" alleine erklärt noch nichts.

kaiand1 zeigt Dir schon zwei guten Ansätze:
Ansatz "Lernen":
Das php-einfach-login kann Du gut als Baustein verwenden und versuchen zu verstehen, was dort wozu passiert.
Ansatz "Erledigen":
Schon vorhandene Dinge nutzen und nur soweit wie nötig anpassen.

Gruß Frank
muftypeter
muftypeter Nov 15, 2017 at 06:58:30 (UTC)
Goto Top
Hallo,
ich glaub, das Ding ist durch.

...Daher meine bitte... Gäbe es jemanden der sich meiner Annimmt und sich mit mir per Skype und möglichem Teamviewer kurzschließt und mir nicht nur Erklärt was dort zu machen ist?....
Klingt wie kostenlose Schulung face-wink

Bitte nicht falsch verstehen, ich möchte es auf jeden Fall in Zukunft können, ich bitte wirklich nur um eine Art "Tutor" der mir Schritt für Schritt erklärt was ich wieso zu machen habe. ...
Siehe Schulung

Daher auch die vielen Hilfestellungen. Wenn man das zum Spass macht, dann ist das ja gut. Wenn aber das auch geschäftlich genutzt wird, dann kommt man als Hobbybastler schnell an die Grenzen. Spätestens bei der Hilfestellung bezüglich Geschäftseinsatz wird der freundliche Tutor schnell an zeitliche Grenzen stossen. Hier sind viele bereit bei Scriptproblemen und sonstigen Anfragen zu helfen, die Programmierung und das Design eines gesammten Admin Panel dürte aber nicht abgedeckt sein.

Einfach mal selber überlegen was man machen will und selber ausprobieren. Sollten dann Fehler kommen ist nach Google das Forum kein schlechter Ort für Fragen.

Peter
WildDog
WildDog Nov 15, 2017 at 08:53:03 (UTC)
Goto Top
Moin. Sorry ich war ausser Haus.

Habe durch YouTube, Google und einiger Bücher durch Amazon das Ding nun selber zum laufen gebracht.

Ich kenne mich mit HTML und CSS gut aus, mit MySQL aber nicht.
Habe die SHA-2 Verschlüsselung eingebaut statt MD5 und so gut wie alles auf der Seite "include"diert um Datenbank-Zugriffe so einfach wie möglich nachträglich zu ändern.

Als ich von Pedant die Nachricht gelesen habe, viel mir der nicht so nette Ton auf, was mich erst einmal dazu brachte diesem Thema weniger Beachtung zu schenken. Wollte das Projekt sogar abgeben. Habe es dann jedoch aus dem Gedanken der eigenen Herausforderung versucht.

Die Seite ist für ein Intranet im Gewerblichen Betrieb, somit waren eure Annahmen korrekt.

Ich möchte mich zum einen erstmal für die wirklich verspätete Reaktion entschuldigen und zum anderen mich bei den meisten hier bedanken.
Einige Ratschläge waren durchaus hilfreich.


Nun als "Neuling" ein kleines lieb gemeintes Fazit:
Es werden tatsächlich von einigen Mitgliedern in dem Forum hier schnell mal Dinge an den Kopf geworfen , wie "Wer hat hier den Bock zum Gärtner gemacht" was zwar im groben Korrekt ist, jedoch meistens die Problematik nicht löst. Ich schieße hier auf keinen Fall gegen den User Pedant.
Er hat auf sehr vielen Seiten positiv zur Lösung einiger Fragen hingewiesen. Dies war jetzt nur das passendste Beispiel anhand dieses Threads.

Ich hatte lediglich die Frage ob jemand mich unterstützen könnte, nicht das derjenige das Ding komplett baut und ich nebenbei Tee trinke. Wie am Anfang erwähnt ist es eine äußerst ungewöhnliche Frage gewesen.


Im ganzen hat es Spaß gemacht und mein damaliges Informatik Studium hat mir auch weiter geholfen. Leider war mein Schwerpunkt deutlich wo anders, sodass ich nur ein Semester das Datenbanken Thema hatte. Ich bewundere die Webdesigner, auch wenn ich selbst bei meinem Bereich bleiben möchte.

Nochmal vielen Dank an alle die mir Tipps gegeben haben. Sogar eine E-Mail habe ich erhalten, was deutlich für dieses Forum spricht.

Ich habe keines der Worte hier feindlich gemeint.

Lieben Gruß, Stefan K.
eisbein
eisbein Nov 15, 2017 at 09:13:21 (UTC)
Goto Top
Hallo!

"include"

Da mach dich lieber noch einmal schlau:

https://www.php-kurs.com/einbinden-von-dateien-include-versus-require.ht ...

Der Teufel liegt im Detail face-wink

Gruß
eisein
Pedant
Pedant Nov 17, 2017 at 15:15:03 (UTC)
Goto Top
Hallo Stefan,

Als ich von Pedant die Nachricht gelesen habe, viel mir der nicht so nette Ton auf
Dass Dir mein Schreibstil und der Inhalt Unbehagen bereitet hatte, tut mir leid.
Das war nicht meine Intention. Es ging mir um meine Nachfragen, deren Antworten durchaus zielführend hätten sein können.

Habe durch YouTube, Google und einiger Bücher durch Amazon das Ding nun selber zum laufen gebracht.
Freut mich, dass Deine Aufgabe gelöst ist.

Gruß Frank
WildDog
WildDog Nov 18, 2017 at 08:47:01 (UTC)
Goto Top
Alles gut ^^ Passt ja jetzt.

Allerdings habe ich dennoch eine Frage und könnte da eine Hilfestellung brauchen.
Gibt es einen einfachen Weg, Bereiche nur für Admins zu machen wo "normale" Nutzer nicht hin kommen oder es gar nicht als URL sehen?


Und ich habe statt Inlcude nun einfach require once genommen. Es ist ja nur für ein Intranet was nicht von aussen erreichbar ist. Sollte denke ich kein großes Sicherheitsproblem sein oder gibt es hier einige die da noch Tipps zu haben?
kaiand1
kaiand1 Nov 18, 2017 at 09:03:14 (UTC)
Goto Top
Nun du wirst ja bei den Benutzer auch eine Gruppenzuordnung haben womit du zb im Menü eine Abfrage in PHP machst if gruppe = Admin dann mehr Menüpunkte per echo zeigen lassen.

Grundsätzlich sollte jede Eingabe vom User gefiltert werden das keine Bösen Codes zb mit Post/Get eingeschleppt wird (Formulardaten) Injection.

code injection
sql injection

Durch solche ungeprüften Eingaben gab es dann später mal Probleme als es jemand mal Probiert hat.
eisbein
eisbein Nov 18, 2017 at 11:10:53 (UTC)
Goto Top
Hallo!

Es ist ja nur für ein Intranet was nicht von aussen erreichbar ist

Das macht keinen Unterschied. Wenn du schon am lernen bist, dann richtig.
Schlechte Angewohnheiten bekommt man später nicht mehr so leicht weg face-smile

Der einfachste Weg um "normale Nutzer" vom Adminbereichen aus zu sperren ist .htaccess.
Zb: Deine Url lautet www.meineurl.de -> Dort kommt dann das Login für den User
Unter www.meineurl.de/Admin kommt man in den Adminbereich - und dieses Verzeichnis ist mittels .htaccess geschützt.
Der User kommt dann nicht mehr (ohne Zugangsdaten) an die Adminseite.

Es gibt aber noch andere Wege, das kommt aber immer auch dein Projekt an.

Gruß
eisbein
WildDog
WildDog Nov 20, 2017 at 07:57:59 (UTC)
Goto Top
Danke, ich werde es mir mal anschauen.

an htaccess hab ich jetzt zwar schon dran gedacht, ist allerdings ne unschöne Sache, da es nicht mehrere Admins geben kann bzw. wenn das Passwort doch glaube ich ständig gleich bleibt oder?

Lieben Gruß
eisbein
eisbein Nov 20, 2017 at 08:36:02 (UTC)
Goto Top
Hallo!

Bei htaccess kannst du auch mehrer Benutzer mit Kennwörtern anlegen.

Per PHP kannst du auch abfragen. welcher Benutzer sich angemeldet hat und entsprechend darauf reagieren.

Schau dir htaccess genau an, damit lässt sich einiges anstellen.

Gruß
eisbein
Pedant
Pedant Nov 20, 2017 at 09:14:32 (UTC)
Goto Top
Hallo WildDog,

mit .htaccess kannst Du natürlich den Zugriff auf die Webseiten regeln, aber ich persönlich finde das für den Anwendungsfall nicht so schick.
Wenn Du eine Userdatenbank anlegst und dann einen Login mit php realisierst, kannst Du alles nach Belieben regeln und einschränken.
Die Userverwaltung per Datenbank ist dann auch einfach administrierbar.

kaiand1 schrieb ja schon den prinzipiellen Weg...
Zitat von @kaiand1:
Nun du wirst ja bei den Benutzer auch eine Gruppenzuordnung haben womit du zb im Menü eine Abfrage in PHP machst if gruppe = Admin dann mehr Menüpunkte per echo zeigen lassen.

Für einen ähnlichen Anwendungsfall habe ich es nicht mit Gruppen gemacht, sondern mit einem numerischen Wert "Userlevel" in der Userdatenbank.
echo "Allgemeines Blabla";
if ($userlevel == 1) {echo "Hallo liebe Benutzer";};
if ($userlevel > 2)  {echo "Hallo liebe Poweruser und Administratoren";};
if ($userlevel > 5)  {echo "Hallo liebe Administratoren";};
Das unterscheidet sich nicht wesentlich von Gruppenzugehörigkeiten, es ist nur etwas simpler in der Fallunterscheidung abzufragen.

Die Anmeldeinfos habe ich dann in Sessionvariablen zwischengespeichert, die ich bei "Logout" verwerfe und die beim Browserschließen ebenso verworfen werden.
https://www.php-einfach.de/php-tutorial/php-sessions/
Mögliche Sicherheitslücken bei Session sind in meinem Fall nicht relevant, da ich nicht mit "Einbruch" durch Kollegen rechnen muss.

Gruß Frank
eisbein
eisbein Nov 20, 2017 updated at 11:26:45 (UTC)
Goto Top
Hallo!

Die Userverwaltung per Datenbank ist dann auch einfach administrierbar.

Stimmt. Und dann stehen auch alle Admins in der Datenbank und wenn diese aus irgend welchen sonderbaren Gründen "gehackt" wird, fällt Ostern und Weihnachten zusammen.

Soll jetzt keine Kritik werden - nur ein Denkansatz face-wink

Nebenbei, bin ich als Admin weniger am Layout sondern an Inhalten interessiert und nie so lange im System, dass mir ein gelungenes Layout auffallen würde. face-smile

Die Verwendung von .htaccess hat seine Vor- und Nachteile - bietet aber eine einfache Absicherung und Umsetzung.

Die Entscheidung hängt aber sehr wohl vom Projekt ab.

Gruß
eisbein
Pedant
Pedant Nov 20, 2017 at 10:05:05 (UTC)
Goto Top
Hallo,

Zitat von @eisbein:
...dann stehen auch alle Admins in der Datenbank und wenn diese aus irgend welchen sonderbaren Gründen "gehackt" wird...
Die Kennwörter der Benutzer habe ich in meiner Dantenbank verschlüsselt gespeichert.
 $verschluesselt = sha1($passwort);
Das wird auch nicht unbedingt FBI-sicher sein, aber wieviel kriminelle Energie ist von den Kollegen im Intranet zu erwarten und wie groß wäre der Schaden, wenn sich jemand über sein zugeteiltes Level hinaus dort bewegt?
Das sollte man auch abwägen, damit die Sache mit Kirche-und-Dorf im Einklang bleibt.

Man kann allerdings auch zweigleisig fahren.
Userverwaltung per Datenbank und wirklich sensible Seiten zusätzlich in einen htaccess-geschützten Ordner ablegen.
Der htaccess-Zugang zu diesem Ordner könnte übrigens für alle Admins mit einem gemeinsamen Login geschützt sein und die weitere User- und Rechtedifferenzierung unterschiedlicher Admins geht dann wieder über die Rechteverwaltung gemäß Datenbank.
Das würde für Admins natürlich einen zweifachen Login bedeuten (htaccess und php/Userdatenbank).

Wenn man ein bisschen sucht, findet man wahrscheinlich auch ein GUI-Tool, um htaccess einfach zu generieren und zu verwalten.

@WildDog
Du hat die Wahl.

Gruß Frank
WildDog
WildDog Nov 21, 2017 at 16:55:24 (UTC)
Goto Top
Hallo Leute, bin derzeit unterwegs und werde mich die Tage dazu melden.

Nur als Info, nicht das man denkt ich reagiere nicht ^^


Lieben Gruß
Wilddog
eisbein
eisbein Nov 22, 2017 at 06:30:56 (UTC)
Goto Top
Guten Morgen!

aber wieviel kriminelle Energie ist von den Kollegen im Intranet zu erwarten

Gerade das sollte man nicht unterschätzen!
Es muss ja nicht immer krimineller Vorsatz sein - oft reicht schon Neugier aus. Daten sollte man immer bestmöglich schützen. (Schon in Hinsicht auf das magische Datum 25.5.2018 --> DSGVO face-wink )

Wie schon gesagt hängt es vom Projekt ab und die Entscheidung muss jeder für sich treffen. Darum will ich das Thema nicht breit treten und bei @WildDog keine Verwirrung stiften.

Gruß
eisbein