PHP: Anleitungen und Praxiswissen | Seite 21 | mironsoft Blog
PHP
-
03.03.2025
Passwort-Hashing entscheidet direkt darueber, wie teuer ein Angreifer nach einem Datenbank-Leak fuer jedes einzelne geknackte Passwort bezahlen muss. Argon2id gilt heute als bevorzugter Algorithmus, weil es speicherintensiv und damit resistent gegen GPU- und ASIC-gestuetzte Angriffe ist, waehrend bcrypt mit seiner CPU-gebundenen Kostenfunktion seit Jahrzehnten als solider Standard funktioniert. Dieser Artikel zeigt, wie beide Algorithmen ueber die PHP-Standard-API password_hash() und password_verify() korrekt konfiguriert, gesalzen, gepeppert und im laufenden Betrieb migriert werden.
-
02.03.2025
Read/Write Split verteilt Schreibzugriffe auf einen einzigen Primary-Server und Lesezugriffe auf mehrere Replicas, um die Datenbankschicht horizontal zu skalieren. In PHP bedeutet das konkret: eine Connection-Routing-Schicht, die je nach Query-Typ die passende Verbindung wählt, und ein bewusster Umgang mit Replikationsverzögerung, damit Nutzer nach einem Schreibzugriff nicht plötzlich veraltete Daten sehen.
-
25.02.2025
Der Fehler EMFILE, gemeldet als "Too many open files", ist selten ein Zufall und fast nie eine reine Kapazitätsfrage. Meistens öffnet eine Anwendung Verbindungen, Dateien oder Sockets und schließt sie nie wieder. Dieser Leitfaden zeigt, wie man mit lsof, dem Verzeichnis /proc/pid/fd und gezieltem Monitoring herausfindet, welcher Codepfad Dateideskriptoren verliert und wie man die Grenzwerte richtig konfiguriert, ohne das eigentliche Leck zu übertünchen.
-
25.02.2025
Viele gewachsene PHP-Projekte bestehen aus hunderten freien Funktionen, die über include-Dateien lose zusammengehalten werden. Dieser Artikel zeigt, wie man solche prozeduralen Codebasen schrittweise in objektorientiertes PHP überführt, mit erkennbaren Extraktionsmustern statt eines riskanten kompletten Neuschreibens.
-
18.02.2025
Zwei unabhängig deploybare PHP-Services, die sich über eine API verständigen, können jeweils für sich genommen eine grüne Testsuite haben und trotzdem inkompatibel werden. Contract Tests mit PHPUnit schließen genau diese Lücke zwischen Anbieter und Konsument.
-
12.02.2025
PHP optimiert Tail-Rekursion nicht weg, weshalb tief rekursive Funktionen bei großen Eingaben mit einem Stack-Overflow abbrechen können. Das Trampolin-Pattern löst dieses Problem, indem es Rekursion in eine sichere, iterative Schleife verwandelt, ganz ohne den eigentlichen rekursiven Programmierstil aufzugeben.
-
02.02.2025
Ein einzelner Listen-Query gefolgt von einer Query pro Element im Loop wirkt im Entwicklungsalltag harmlos, verwandelt sich unter Produktionslast jedoch in hunderte oder tausende Datenbankaufrufe pro Seitenaufruf. Dieser Artikel zeigt, wie sich das N+1-Query-Problem in ORM- und Collection-Code erkennt, mit Eager Loading und Batch-Queries beheben und mit Profiling-Tools dauerhaft überwachen lässt.
-
02.02.2025
Wer Benutzereingaben nur gegen bekannte Angriffsmuster prüft, übersieht zwangsläufig die nächste Variante. Dieser Artikel zeigt, warum Allowlist-Validierung jede Blacklist schlägt, wie PHPs filter_var Funktion richtig eingesetzt wird, welche Fallstricke Magentos Formularvalidierung bereithält und warum Validierung und Sanitization strikt getrennte Aufgaben mit unterschiedlichen Zielen sind.
-
31.01.2025
Zugangsdaten landen zu oft direkt im Repository, in Klartext-Konfigurationsdateien oder als hart kodierte Konstante mitten im Code. Sauberes Secrets Management trennt Konfiguration von Code, verschlüsselt Werte im Ruhezustand und macht Rotation zu einem Routinevorgang statt zu einem Notfall nach einem Sicherheitsvorfall.
-
30.01.2025
Handgeschriebene Testdaten wie 'Testname' oder 'test@test.de' verschleiern echte Bugs, weil sie nie die Vielfalt echter Eingaben abbilden. Die Faker-Bibliothek erzeugt realistische Namen, Adressen und Preise, bleibt dabei mit festen Seeds aber vollständig reproduzierbar.