PHP PHP Login

Wie wunderschön viel, überflüssiger und nutzloser Code. Poesie pur

Nicht, dass man einfach Prepared Statements nehmen könnte, um sich einen Dreck um die Nutzerdaten scheren zu müssen...
Das ist bei einem Loginformular vollkommen irrelevant. Vollkommen. Und auch sonst ist es barely relevant.
Kam so nicht ganz rüber, dass Du das nur auf ein Login Formular beziehst.

Das ist bei einem Loginformular vollkommen irrelevant.


Also gut, du schenkst dem ganzen keine Bedeutung (barely relevant).
Gehen wir von dem hier verwendeten Beispiel aus (Login Form).
Ein vernünftiges Login Formular sollte zumindestens 4 Elemente haben

1. hidden hash field (csrf protection)
2. username field
3. password field
4. submit button

Zum einem, wie bereits von Sleepprogger erwähnt, sollte man auf jedem Fall einen Schutz gegen XSS & Co. nutzen (z.B.: HtmlPurifier) und somit wäre schon der erste Filter im Einsatz.
Zum anderen muss dein übermittelter Hash Token für den CSRF-Schutz überprüft werden, ob der gültige Token mit der Session übereinstimmt und somit wäre auch schon der erste Validator im Einsatz.

Jetzt könnte man eine stringlänge je Eingabe prüfen usw. usw..

Weil es seit Ewigkeiten gute und einfach nutzbare ORMs und Formularframeworks gibt.
Aber auch hier gibt es Filter und Validatoren, welche zum Einsatz kommen.
Zend Framework
Zend Framework

Mal so als Frage:
Wie würdest Du dann die Kommunikation zu deinem Nutzer aufbauen. Er sollte ja wissen ob was falsch gelaufen ist. Nun ja, im Falle des Logins ist weniger meistens mehr. Sprich hier würde eine einfache global gültige Ausgabe einer Meldung in Form von "Bitte überprüfen Sie Ihre Eingabe" reichen. Was aber wenn der username hier eine email adresse ist, und man hier die Meldung ausgeben möchte das diese ungültig ist (z.B. email-email.de).

ist es wichtig, auf als gut bekannte Lösungen zu setzen.
Da ich primär das Zend Framework nutze gebe ich Dir vollkommen recht. Es ist ratsam auf Frameworks zu setzen, da hier auch gerade im Datenbankhandling vieles vereinfacht wird, ohne die Sicherheit zu vernachlässigen und auch sonst ist die Idee und das gesamt konzept stimmig.

Deine Meinung und Deine Sichtweise ist nicht "gänzlich" falsch, jedoch sollte man, vor allem hier im Forum, ein wenig differenzieren. :)
 
abgesehen davon bleibt auch noch der faktor mensch, hier in form des evtl nicht so super begabten wartungs-programmierers, der den ganzen kram lesen und verstehen sollte...

ich weiß viele hier werden das als traurig ansehen, aber es gibt firmen die bei ihren softwareprojekten explizite coding-conventions (und teilweise richtig üble einschränkungen) haben die solchen code erzwingen, nicht weil das aus sicherheitsgründen notwendig oder performant (oder poesie) wäre, sondern um schlicht code zu haben den jeder versteht den die da ran setzen ...

die welt ist nicht schwarz und weiß
 
Zurück
Oben