dedlfix: MySQL Loginsystem

Beitrag lesen

Hi!

ich bekomme immer mehr das Gefühl meine früheren Skripte waren allesamt Fehlkonstruktionen. Jetzt scheine ich erst richtig PHP zu lernen.

Auch meine frühen Würfe sind mittlerweile ein Fall für den Giftschrank. Immerhin waren sie im Wesentlichen *-Injection-sicher.

Irgendwie widerstrebt es mir innerlich ein bisschen, dass ich auch für die Maskierung der Bezeichner bei jeder SQL-Anfrage eine Methode aufrufen zu müssen. (Insbesondere dann, wenn ich öfters diesen Bezeichner verwende, was hier aber wahrscheinlich nicht zutrifft)

Sind denn deine Abfragen alle dermaßen veränderlich im Code, dass du da ständig wechselnde Bezeichner reinbringen musst? Alles was statisch gemacht werden kann sollte so implementiert werden. Und was nur aus deinem eigenen Code kommt, benötigt nicht zwangsläufig Bezeichnermaskierungen. Du wirst vermutlich nicht absichtlich Backticks in die Tabellen- und Feldnamen einbauen.

Daher hatte ich mich auch dafür entschieden, das ganze bereits beim einlesen durchzuführen. Wenn du mir jetzt aber ganz deutlich sagst, dass es zum guten PHP-Stil gehört, diese Behandlung erst beim SQL-Request durchzuführen, dann werde ich das abändern.

Das ist kein PHP-spezifisches Ding. Nicht beachtete Kontextwechsel sind in allen Programmiersprachen ein gern gemachter Fehler.

Mir sind jetzt aber auch neue Fragen gekommen: Soll ich die Pfade der Dateien anpassen (also relativ zur ausgeführten Datei machen), wenn in der INI-Datei ein gewisser Wert auf true (oder vergleichbare Werte) gesetzt wurde oder wie würdet ihr sowas behandeln?

Ich konfiguriere die Pfade, mitunter auch in Teilen, wenn ein Basispfad um spezifische Pfade ergänzt werden soll. Der Basispfad kann dabei auch [Leerstring] oder / lauten.

Ich hatte es jetzt so vor zu handhaben, dass ich, bei einem Fehler oder wenn ein Benutzer nicht eingeloggt ist, per "require" eine PHP-Datei eingefügt wird, die dann das Anmeldeformular bzw. eine Fehlermeldung beinhaltet. Zuerst wollte ich es mit "readfile" machen, allerdings will ich das als grundlegendes System für meine zukünftigen Projekte machen und vielleicht soll da bei noch PHP-Code ausgeführt werden, wenn das Formular ausgeliefert werden soll.
Ist das so "guter Stil" oder hättet ihr das anders gemacht?

Kann man so machen. Ich bevorzuge bei der Verarbeitung (dem V vom EVA-Prinzip) nur Daten zu erstellen, möglichst ohne Ausgabeformatierung. Die Ausgabelogik prüft, ob bestimmte Strukturen oder Flags vorhanden sind und rendert dann entsprechend.

Lo!