Seite 168 - Mironsoft Blog
-
Maxim Mironjuk
-
September 21, 2025
Ein kompromittiertes Admin-Passwort ist bei Magento-Shops einer der häufigsten Einstiegspunkte für Angreifer, weil ein einzelner Faktor ausreicht, um Zahlungsdaten, Kundendaten und die komplette Shop-Konfiguration zu übernehmen. Dieser Beitrag zeigt, wie das Modul Magento_TwoFactorAuth konfiguriert wird, welche Provider zur Verfügung stehen, wie Zwei-Faktor-Authentifizierung unternehmensweit per Konfiguration oder Rolle erzwungen wird, wie die zugehörigen CLI-Befehle funktionieren, wie ein eigener TFA-Provider nach ProviderInterface implementiert und per di.xml registriert wird, und welche typischen Fallstricke beim Betrieb mit Reverse-Proxy, Headless-Frontends und Staging-Umgebungen auftreten.
-
Maxim Mironjuk
-
September 20, 2025
Eine korrekt konfigurierte Firewall ist die erste Verteidigungslinie jedes Servers im Internet. Dieser Artikel zeigt praxisnah, wie iptables als Kernel Paketfilter tatsächlich funktioniert, wie ufw als einfaches Frontend darauf aufsetzt, welche Baseline Regeln ein produktiver Webserver für SSH, HTTP und HTTPS wirklich braucht und wie man zuverlässig verifiziert, dass diese Regeln aktiv bleiben und jeden Neustart unbeschadet überleben.
-
Maxim Mironjuk
-
September 20, 2025
Sobald ein Server mehrere Netzwerkkarten, zusätzliche Storage-Geräte oder USB-Hardware bekommt, reicht die automatische Standardbenennung durch den Kernel oft nicht mehr aus: Nach einem Neustart heißt die gestern noch als sdb erkannte Festplatte plötzlich sdc, und ein Skript, das sich auf diesen Namen verlässt, greift ins Leere. udev löst genau dieses Problem, indem es Kernel-Device-Events abfängt und darauf mit selbst definierten Regeln reagiert, von persistenten Namen bis zu automatisch gestarteten Aktionen.
-
Maxim Mironjuk
-
September 20, 2025
AsyncStorage speichert Werte unverschlüsselt als Klartext, auslesbar bei physischem Zugriff oder auf gerooteten Geräten. Secure Storage über die iOS Keychain und den Android Keystore verschlüsselt Secrets auf Betriebssystemebene und kann sie zusätzlich an Biometrie binden. Dieser Artikel zeigt, wie react-native-keychain und expo-secure-store Access-Tokens, Refresh-Tokens und andere sensible Daten korrekt ablegen.
-
Maxim Mironjuk
-
September 20, 2025
Ein normaler Index beschleunigt das Finden von Zeilen anhand einer Filterbedingung, verlangt danach aber in den meisten Fällen einen zusätzlichen Zugriff auf die eigentliche Tabelle, um die restlichen angefragten Spalten zu holen. Dieser zusätzliche Sprung, oft Key Lookup oder Bookmark Lookup genannt, kostet bei vielen Treffern spürbar Zeit. Ein Covering-Index enthält alle für eine Abfrage benötigten Spalten bereits selbst und macht den Lookup dadurch vollständig überflüssig, ein Effekt, der als Index-Only-Scan bezeichnet wird.
-
Maxim Mironjuk
-
September 20, 2025
Wer Vue 3 mit denselben Patterns wie Vue 2 einsetzt, verschenkt das Potenzial der Composition API. Composables, defineModel, Suspense und reaktive Stores mit Pinia ersetzen fragile Options-API-Konstrukte durch wartbare, testbare und typsichere Vue 3 Patterns, die auch in großen Teams skalieren.
-
Maxim Mironjuk
-
September 20, 2025
Der init()-Hook ist in jedem Alpine.js-Tutorial präsent – destroy() dagegen wird häufig übersehen. Genau das führt zu schleichenden Memory Leaks, verwaisten Event-Listenern und Fehlern, die erst nach mehreren Seitennavigationen auftreten. Dieser Artikel erklärt beide Hooks vollständig.
-
Maxim Mironjuk
-
September 20, 2025
Ein Deferred Constraint verschiebt die Prüfung eines Foreign Keys, Unique- oder Exclude-Constraints vom Zeitpunkt jedes einzelnen Statements auf das Ende der Transaktion. Dieser Beitrag zeigt, wie DEFERRABLE INITIALLY DEFERRED und SET CONSTRAINTS funktionieren, wie sich zirkuläre Fremdschlüssel und Primary-Key-Swaps damit erst sauber umsetzen lassen, und welche Vendor-Unterschiede in der Praxis zu beachten sind.
-
Maxim Mironjuk
-
September 20, 2025
Ein Copy-Button, der nur Text kopiert, ist halbfertig. Visuelles Feedback, Screenreader-Ankündigung, Browser-Fallback und Timeout-Reset – all das steckt in einem einzigen Alpine.js-State-Objekt mit 10 Zeilen Logik.
-
Maxim Mironjuk
-
September 20, 2025
Eine TypeScript-Bibliothek mit Dutzenden internen Modulen erzeugt beim Standard-Build genauso viele einzelne Typdefinitionsdateien, ohne dass irgendwo sichtbar wird, was davon eigentlich zur öffentlichen API gehört. API Extractor löst genau dieses Problem: ein einziger Rollup, ein maschinenlesbarer API-Report als Contract-Test und Release Tags, die genau festlegen, was Konsumenten verwenden dürfen.
-