Woher ein sicheres Login-Script nehmen?

K

kenduo

Aktives Mitglied
Thread Starter
Dabei seit
27.07.2017
Beiträge
4.091
Reaktionspunkte
1.351
Hallo

Ich habe da eine Idee für ein Webprojekt und würde diese gerne umsetzen.
HTML, CSS, JS und SQL bekomme ich hin und spiele da auch gerne herum. Weitere Techniken kann man sich aneignen, aber wovor ich Respekt und eine gewisse Angst habe, betrifft die Sicherheit des Skriptes und vor allem dem Login.

Man muss da so viel beachten und wenn ich es so lese weiß ich schon, dass entweder mache ich es alleine und werde dann irgendwann mal im Jahr 2020 fertig oder ich nehme mir ein fertiges Script.

Kann mir da jemand helfen und mir etwas empfehlen? Es darf auch kosten! Das Script muss mir die Sicherheit geben, dass sich niemand an den Inhalt ran machen kann (für den er nicht zugelassen ist) und der Login- bzw. User-Bereich keine Angriffsmöglichkeiten bietet.

Wenn man da etwas sucht, findet man zwar einige Tutorials, Skripte, aber ob das was wert ist?

Würde mich wirklich sehr freuen, wenn mir da jemand behilflich sein könnte.
Script, Tutorials, etc. - Ich nehme alles was mir hilft.

Vielen Dank.

Anbei paar Links:
https://codecanyon.net/item/advanced-security-php-registerlogin-system/5282621
https://www.phpclasses.org/blog/package/10087/post/1-secure-login-and-registration-system.html
http://www.kvcodes.com/2017/05/create-secure-login-system-php-mysql/
https://de.m.wikihow.com/Ein-sicheres-Login-Skript-mit-PHP-und-MySQL-erstellen?amp=1
https://github.com/BlackScorpGames/webrpg/blob/master/source/account/login.php
 
Wie wäre die Verwendung von OAuth2?

Bei Udacity gibtes einen kostenfreien Kurs zum Thema; einige Stunden Investment reichen für den
 
Das Script muss mir die Sicherheit geben, dass sich niemand an den Inhalt ran machen kann (für den er nicht zugelassen ist) und der Login- bzw. User-Bereich keine Angriffsmöglichkeiten bietet.
Das bedeutet eben, dass Du neben dem eigentlichen Login auch ein Rechtesystem haben willst. Das bedeutet das abhängig vom Login bestimmte Routen aufrufbar sind oder eben nicht. Das ist weit mehr als nur die Login-Kontrolle. So etwas gibt es durchaus in eingigen Frameworks.

Leider hast Du nicht geschrieben in welcher Sprache die Anwendung realisert werden soll. Das wäre natürlich für einen Tipp hilfreich.
 
…und dazu käme noch die Bewandtniss der Umsetzung der Website-Struktur an sich:

Login > für Frontend für Mitarbeiter/Autoren
Login > für Backend für Mitarbeiter/Autoren
Login > für Backend und Frontend für Mitarbeiter/Autoren

:noplan:
 
  • Gefällt mir
Reaktionen: wegus
Hi

Entschuldigt bitte die späte Rückmeldung.

Also was die Sprache der Realisierung angeht: PHP.
Was das Login/die Verwaltung angeht: Login > für Backend und Frontend für Mitarbeiter/Autoren.
>> inkl. einem User-Level-Management.

Ich denke, damit kann man dann sehr gut abbilden, wer was darf, etc.

OAuth2 ist mir noch nciht ganz klar.
Ich benutze also z.B. die User-Daten von Twitter als Login.
Der User ist dann in meinem System angemeldet (als mein User, aber über ein Login von Twitter).
Userlevel-Management müsste ich dann noch dazu machen.

Habe ich das grob verstanden?


Ich habe bis jetzt auf einem kleinen Level für mich programmiert. Verzeiht also die "dummen" Fragen.


Bye
 
Wenn es um ein Autorensystem geht: Wordpress! Da hast Du eigentlich alles was Du brauchst. Wenn es um eine Individualprogrammierung geht Frameworks wie Zend Framework3! Selber programmieren geht, ist aber zum Einen Rad neu erfinden und zum andern besteht eben die Gefahr das man Fehler einbaut, die andere längst mit ausgeschlossen haben.

Ich würde mir durchaus zutrauen so etwas recht sicher selbst von Hand zu erstellen (tatsächlich habe ich das schon mehrfach getan). Aber es gibt eben gute Frameworks die all das schon gelöst haben und wenn es ein reines Autorensystem sein soll, dann hat Wordpress alle Werkzeuge die Du brauchst schon fertig.
 
Also was die Sprache der Realisierung angeht: PHP.
Was das Login/die Verwaltung angeht: Login > für Backend und Frontend für Mitarbeiter/Autoren.
>> inkl. einem User-Level-Management.

Wenn es um ein Autorensystem geht: Wordpress! Da hast Du eigentlich alles was Du brauchst.
[…]

Bei oder mit Wordpress ginge das schon alles super …
…nur betreffs einem "User-Level-Management" kann man es mit Wordpress nur mittels einem Plugin umsetzen,
wenn man explizite Userrechte für bestimmte Dinge verteilen will/muss.
Das Plugin funktioniert zwar recht gut und zuverlässig, nur ist die Lern- und Verwaltungskurve relativ hoch und müßig. Ginge aber.
Nur wäre man zukünftig erstmal auf dieses Plugin "abhängig" und wenn der Programmierer "mal hinschmeißt" etc.
 
Also ein Framework.
Welches Fremdwort wäre den zu empfehlen - etwas einsteigerfreundliches. Habe so etwas noch nie gemacht, wäre aber durchaus bereit mich da einzulesen :)

Werde mir jetzt schon mal das Zend Framework anschauen.

Ursprünglich dachte ich zwar auch an Wordpress, aber ich war mir nicht sicher, wie es sich mit eigenen Seiten innerhalb des Wordpressinstallation verhält. Ich hab schon vor, mehr als nur Content zu verwalten.

Beispiel User A und User B geben Daten ein, die User C graphisch angezeigt werden.

Bei Wordpress hätte ich Angst, dass jedes Update das ganze zu Nichte machen könnte, was man sich zu vor mühselig erarbeitet hat. Das selbe geht auch an fremde Scripts. Zu abhängig.
 
…nur betreffs einem "User-Level-Management" kann man es mit Wordpress nur mittels einem Plugin umsetzen,
Deswegen der Hinweis das da dann das Ende der Fahnenstange erreicht ist

Welches Fremdwort wäre den zu empfehlen - etwas einsteigerfreundliches. Habe so etwas noch nie gemacht, wäre aber durchaus bereit mich da einzulesen :)
Werde mir jetzt schon mal das Zend Framework anschauen.
Das ist alles andere als einsteigerfreundlich weil man damit komplette Business-Anwendungen schreiben kann. Allerdings gibt es eben für komplexe Probleme auch keine einfachen Lösungen mehr. Umgekehrt wenn Du ZF3 drauf hast, dann kannst Du auch alle Anwendungen damit erstellen. Der Aufwand lohnt also. Ein kurzes Tutorial findet sich z.B. hier:

https://olegkrivtsov.github.io/using-zend-framework-3-book/html/en/toc.html
 
Stellt sich die Frage: welche Erfahrung hast du? Es gibt viele Optionen... Node, Python, php, you name it
 
Hi,

Ich habe da eine Idee für ein Webprojekt und würde diese gerne umsetzen.
HTML, CSS, JS und SQL bekomme ich hin und spiele da auch gerne herum.

wenn es zeitlich nicht sehr eilt und Du keine Angst vor ein bisschen PHP hast, würde ich Dir Processwire ans Herz legen. Die Einarbeitung gelingt recht flott, wenn man das Grundprinzip erst mal verstanden hat. Sobald Du die ersten Hürden genommen hast, erhältst Du ein Werkzeug in die Hand, mit dem Du Dein Vorhaben sicher umsetzen wirst.

Eine kleine Videoreihe kann vielleicht helfen, einen Überblick zu bekommen.

 
Was sollte das für hochgeheime Projekt werden? Setzt sofort auf PHP 7 und nur so am Rande benutz nicht MD5 und SHA1, leider gibt es noch tausende Tutorials mit MD5/ SHA1.

Hier für dich, aber in zwei Tagen kannst du nicht Profi werden.

password_hash($passwort, $algorithmus)
http://php.net/manual/de/function.password-hash.php

password_verify($passwort, $hash)
http://php.net/manual/de/function.password-verify.php

password_needs_rehash($hash, $algorithmus)

http://php.net/manual/de/function.password-needs-rehash.php


JS und SQL bekommst du hin, aber null Ahnung vom PHP hmm :rolleyes:.


Wie die andere geschrieben haben, benutzte Wordpress, es ist nicht mehr nur Blog-CMS, es ist richtige CMS und ich verwende fast immer WP.
 
Welches Framework wäre den zu empfehlen
Um hier weiterzukommen, musst du mehr zu deinem Vorhaben schreiben. CMS installieren und eine Anwendung aus fertigen Komponenten bauen - das wäre die einfachste und schnellste Lösung. Auf der anderen Seite kannst du dabei an Grenzen stoßen, wenn es keine fertige Lösung für bestimmte Zwecke gibt. Dann könntest du zwar selbst etwas programmieren (also das CMS erweitern), in dem Moment wäre das CMS aber u.U. eine zusätzliche Abstraktionsschicht, die die Dinge erschweren könnte.

Du musst dich übrigens von der Erwartung verabschieden, dass du mit der Einbindung von ein, zwei 'Scripten' die Absicherung deiner Daten sicherstellen kannst. Du musst dazu verschiedene Konzepte verstehen und beherzigen, kurz gesagt: Du musst gut programmieren - und das an jeder Stelle.
 
Hi

@auto12
Auch PHP bekomme ich hin, nur das was ich bis jetzt gemacht habe, waren einfachste Sachen - just4fun ;)
Habe mich nie mit Login und co. beschäftigt, denn bist jetzt habe ich nur für mich kleine Miniseiten erstellt.

@all
Was das zeitliche angeht. Ich habe Zeit. Wenn ich es bis - sagen wir - Ende Oktober hinbekomme wäre das schon nice. Es ist nur eine Idee und nichts weltbewegendes, jedoch möchte ich es komplett online haben und würde gerne darauf verzichten, dass ein dummer Fehler dafür sorgte, dass das ganze offen und für jeden frei zugänglich ist.

Was die Sicherheit angeht - wenn man eine fertige Lösung kaufen kann, nehme ich auch diese ;)

Und damit es etwas klarer wird, an was ich dachte:

Ich möchte Daten sammeln. Teilweise auf täglicher Basis, manchmal wöchentlich, auch monatlich. Dies mache ich mit mehrere Leuten, die in Europa verteilt sind. Das Projekt ist just4fun / intern, muss aber über das Internet erreichbar sein. (Thema ist egal ;))

Jeder der Daten eingibt (für seinen Bereich) soll diese auch jederzeit ändern können und die History der Änderungen sehen.
Er soll aber nicht die Daten anderer User ändern können bzw. nicht unbedingt alle "fremden" Daten sehen.
Jede Eingabe soll auch kommentiert werden können und ggf. auch eine Antwort beinhalten - also ein PN-System.
Jeder User soll auch einen Bericht verfassen können.
Datenauswertungen folgen dann immer zu festen Zeiten.

Könnte man auch mit Excel machen - klar, aber webbasierend finde ich es entspannter.

Woran scheitert das ganze?
Login-Script und User-Verwaltung

Wieso kein fertiges System?
Ich habe nicht das Wissen ein bestehendes CMS-System zu nehmen und dann zu erweitern und ggf. noch Module selbst zu programmieren, welche es nicht gibt oder nicht weiter entwickelt werden (und was ich eh nicht kann!). Diese Thematik ist für mich reine private Beschäftigung - just4fun halt. Ich bin kein Programmierer, deshalb muss ich es einfach wie nur möglich halten und das geht meiner Meinung nach nur mit einem eigenen Script. Hier ist das einarbeiten einfacher als sich in bestehende "große" Systeme einzuarbeiten.

Frage
Gibt es vielleicht aber doch noch ein CMS, welches es mir einfach ermöglich, sowas einzufügen.
Also eigene Inhaltsseiten, die sich auf das User-Management des CMS beziehen.
Wordpress halte ich dafür jedoch zu komplex für mich. Es muss etwas kleines, einfacheres sein.

Das wäre durchaus eine Möglichkeit, die mir gefallen würde, da ich mich auf den Inhalt konzentrieren kann und nciht um das Gerüst :)

Vielen Dank.

Grüße


EDIT:
Wichtige Info noch:
- Daten sind ohne Login nicht einsehbar, wenn nicht freigegeben.
- User können ihre vCards bearbeiten (das wäre noch ein weiterer Wunsch zum Projekt)
 
Zuletzt bearbeitet:
Das alles ist wirklich nicht Weltbewegendes. Ein paar Rheinwerk-Bücher, ev. ein paar V2B oder Udemy Videos und dann hast du es schon.

Ich hätte dir sonst noch Typo3 vorgeschlagen, aber wenn Wordpress für dich zu komplex sein sollte, dann kannst du Typo3 vergessen.

Wordpress mit ACF *__* es rockt einfach, mein Tipp probier mal mit WP.
 
Jeder der Daten eingibt (für seinen Bereich) soll diese auch jederzeit ändern können und die History der Änderungen sehen.
...
Jede Eingabe soll auch kommentiert werden können und ggf. auch eine Antwort beinhalten - also ein PN-System.
je nach daten, denke ich da z.b. auch an ein kleines wiki.
 
  • Gefällt mir
Reaktionen: wegus
Ich will hier niemandem widersprechen, aber wenn Sicherheit eine relevante Rolle spielt, dann musst das auf jeden Fall von jemandem mit Erfahrung reviewen lassen.
Auch wenn das mit Hilfe einer Library, auf basis eines Frameworks oder ueber eine Platform realisiert, man kann ueberall gravierende Fehler machen und gerade wenn man Anfaenger ist, ist die Wahrscheinlichkeit eines solchen ziemlich gross - daher: Konzept und Realisierung von jemandem (oder ein paar Leuten) reviewen lassen!
 
  • Gefällt mir
Reaktionen: wegus und Pidd
Hallo

Das mit dem Review ist natürlich ein wichtiger Punkt. Deshalb halt auch die Frage, ob es nicht irgendwo fertige Script gibt, die man kaufen kann.

Zum Beispiel das hier: https://codecanyon.net/item/advanced-security-php-registerlogin-system/5282621
Was ist davon zu halten?


Sollte ich Wordpress nehmen:
Gibt es bei Wordpress die Möglichkeit gewisse Kategorien nur einem bestimmten User zugänglich zu machen?
Sprich Kategorie X sieht nur der User ab Level x (als Beispiel)?
Alle darunter sehen diese Kategorie nicht.


je nach daten, denke ich da z.b. auch an ein kleines wiki.
Die Date sind vorwiegend Zahlen, die auch Diagramm, etc. dargestellt werden sollen.


Ciao
 
Könnte man auch mit Excel machen - klar, aber webbasierend finde ich es entspannter.

Ganz offenbar fehlt Dir einiges an Wissen zu dem Thema und jede Form von Sicherheitsleck wird eben zum Problem. Wenn Dir CMSe schon zu komplex sind, dann werden es Frameworks ohnehin sein. Wie hier schon erwähnt wurde ist es mit dem Include von 2 Dateien nicht getan. Wenn es ein Excel tut warum verwendet Ihr so etwas dann nicht?

Von MS und auch von Google gibt es durchaus Angebote solche Dokumente parallel zu nutzen/bearbeiten!
 
Zurück
Oben Unten