molily: Neuer Artikel (Baustelle): Loginsystem und Benutzerregistrierung

Beitrag lesen

Hallo,

Das ist ein ganz anderer Ansatz als hier bisher verfolgt wird - die Idee gefällt mir ansich sehr gut, aber ist das didaktisch so sinnvoll, wenn man dem Leser einfach einen fertigen Brocke hinwirft den er ohne selbst zu denken kopieren kann - das widerspricht doch dem SELF gedanken.

Ich sehe keinen Sinn darin, absichtlich unvollständigen oder nicht funktionierenden Code zu veröffentlichen. Das macht niemanden schlauer oder regt zum Nachlesen an. Der Code sollte schon »fertig« und kopierbar/anpassbar sein.

Die Form sollte ein Tutorial sein, d.h. es wird schrittweise erklärt, wie man zu der Lösung kommt. Davon gibt’s schon einige Artikel im Selfraum, z.B. das Fader-Framework.

Man muss Low-Level-Operationen wie sprintf und real_escape_string nicht kennen und kann Escaping nicht vergessen.

Wenn man drauf nicht vergessen kann, besteht aber die Gefahr, dass man sich garnicht mit der Thematik auseinandersetzen muss.

Bestenfalls muss man sich mit der Thematik auch nicht auseinandersetzen! Sämtliche großen Web-Frameworks haben das Problem Kontextwechsel auf verschiedenen Ebenen gelöst – indem ich Schnittstellen, Sprachen und Formate verwende, die ihren Kontext kennen und Escaping automatisch vornehmen.

Nun kann man zwei Ansätze verfolgen:

1. Ich versuche Leute dazu zu bringen, diese Abstraktionen zu verwenden.
2. Ich versuche Leute dazu zu bringen, die fiesen Details der verschiedenen Kontextwechsel zu lernen und durch verschiedene String-Operationen anzuwenden.

Weg 2 ist für mich von didaktischer, weniger von praktischer Wichtigkeit. Natürlich sollte ich wissen, wie ich es »zu Fuß« machen kann. Natürlich muss ich die grundsätzliche Thematik verstehen. Natürlich sollte ich wissen, warum ich gewisse APIs verwende und andere meide.

Doch sollte Produktivcode nicht bei jedem trivialen MySQL-Statement manuelles Escaping vornehmen müssen. Das ist für mich dunkle Steinzeit und solcher Code sollte nirgendwo mehr geschrieben werden, schon gar nicht von Programmieranfängern. Ein Artikel heute sollte den Weg aufzeigen, wie man schrittweise von einer manuellen Lösung zu einer robusten, zeitgemäßen Lösung kommt.

Es war mir hier wichtig dem Leser zu vermitteln, was in etwa zu tun ist um ein Passwort abzusichern - überall wird zwar davon gesprochen, aber der Weg - sprich was passiert und was diese unverständliche Zeichenkette tut bedarf Erklärung.

Das finde ich auch gut und wichtig. Wie sinnvolles Password-Hashing funktioniert und wie sich der generierte String zusammensetzt, sollte natürlich erklärt werden. Es ging mir lediglich darum, dass veraltete Wege nicht detailliert beschrieben werden müssen.

Grüße,
Mathias