Login system mit PHP oder Python?

3 Antworten

Python bietet dir mit Frameworks wie Flask und Django vermutlich den einfacheren Einstieg. Das sind allerdings eher Back-End Sprachen. Für einen Login selbst brauchst du auch noch ein Front-End. Dort müsstest du dir am besten HTML, CSS (keimte Programmiersprachen) und JavaScript angucken. Alternativ geht auch Svelte bzw. SvelteKit, falls du es doch lieber mit einer einheitlichen Sprache für Front- und Back-End umsetzen willst. Svelte setzt allerdings HTML, CSS und JS Kenntnisse im eigenen Tutorial bereits voraus.

Woher ich das weiß:eigene Erfahrung
NackterGerd  10.04.2023, 17:49

Für Login wäre JS total unsinnig

Natürlich mit PHP oder evtl Phython

Phython ist nicht nur im Backend möglich.

Aber Login ist natürlich nur im Backend sinnvoll zu bearbeiten.

In der Website selbst ist dann nur einfaches Formular zur Eingabe

0
Robin42  10.04.2023, 18:04
@NackterGerd

Naja, da kann ich dir leider nicht zustimmen. Für ein Login ist es am nutzerfreundlichsten, die Eingaben auf die Korrektheit des Formates zu überprüfen, das in den meisten Fällen nicht durch HTML Input Field Checks abgedeckt werden kann. Hier muss man im Front-End in den meisten Fällen Akzeptanzchecks durchführen, wofür man in 99,9% der Fällen JS nutzt. Für ein Login System wäre es absolut überflüssig WebAssembly for Python im Front-End zu nutzen. JS ist also nicht „total unsinnig“, sondern das Gegenteil der Fall.

Wie du darauf kommst, dass „Natürlich mit PHP oder evtl Python“ gearbeitet werden muss, ist mir ebenfalls nicht schlüssig. PHP ist zwar die meist genutzte Backend Sprache für Webseiten, nimmt allerdings seit Jahren von der Nutzung eher ab und ist deshalb am weitesten verbreitet, weil es in großen Open Source Systemen, wie WordPress und Nextcloud genutzt wird. Inzwischen zählen aber für Back-Ends eher andere Sprachen, wie Python, JavaScript & Co zu den Beliebtesten, wobei hier laut StackOverflow Yearly Rewinds eher JavaScript und TypeScript als die beliebtesten Sprachen gelten. Es wäre hier also sinnvoll, statt 2 Sprachen lernen zu müssen, einfach etwas wie SvelteKit zu nutzen, womit man direkt eine einzige Sprache für Front- und Backend nutzen kann.

Dein vierter Absatzsatz ist für mich etwas unpräzise formuliert. Ich denke mal, du meinst, dass die Login-Logik im Backend ablaufen sollte, dem ich nur zustimmen kann.

0
NackterGerd  10.04.2023, 19:04
@Robin42

Html und PHP reichen vollkommen um ein Login umzusetzen

WordPress ... hat viele Nachteile

Kämme mir also nicht in den Sinn

0
Robin42  10.04.2023, 19:06
@NackterGerd

HTML und PHP reichen, um einen minimalen Login umzusetzen. Wenn man den am Ende allerdings echt einsetzen will, lohnt sich JS als ersten Validator im Front-End. Außerdem geht es hier mit WordPress um die Statistiken der Beliebtheit von PHP.

0

Wenn du die zwei Sprachen zur Auswahl hast würde ich Python + ein vernünftiges Web Framework bevorzugen, grundsätzlich geht beides.

Ich würde überlegen eine Library für OpenID Connect zu nutzen und dann fertige Lösungen wie Keycloak zu nutzen. Dann musst du dir um sicheren Login und MFA Implementierungen keine Gedanken machen. Da Login Security relevant ist sollte man für so was schon grob wissen was man tut.

Grundlegend solltest du darauf achten, dass du einen Schutz gegen Brute Force Angriffe hast und Passwörter korrekt über eine sichere Hashfunktion schützt. Das einfachste hier wäre eine bcrypt library zu nutzen da bcrypt dir auch salts abnimmt. Einfach eine generische kryptografische Hash Funktion nutzen wie SHA reicht alleine nicht aus, du brauchst eine Hash Funktion die auf Passwörter bzw. key derivation ausgelegt ist und muss Salts beachten.

Für ein (kleines) Login System ist es egal, ob du PHP oder Python nutzt. Beide Sprachen sind in ihren Basics leicht zu lernen und zu nutzen. Als Webentwickler stellt sich die Frage, hast du eher vor Großprojekte mit Millionen-Budgets und -Nutzern umzusetzen, dann lern eher Python, oder willst du möglichst viele "normale" Websites erstellen und bearbeiten, z.B. die, die WordPress nutzen. Das sind aktuell etwa 64 % aller Websites im öffentlich zugänglichem Teil des Webs. Dann wäre PHP vielleicht sinnvoller.