Magento Blog: Anleitungen und Praxiswissen | Seite 291 | mironsoft
Magento Blog
-
15.04.2025
axe-core prüft eine gerenderte Seite gegen einen festen Katalog automatisierbarer Barrierefreiheitsregeln, etwa Farbkontrast, fehlende Formular-Labels oder falsch verschachtelte Überschriften, und lässt sich sowohl über @axe-core/playwright in End-to-End-Tests als auch über vitest-axe in Komponententests einbinden. Wichtig ist dabei, die Grenzen automatisierter Prüfung zu kennen, denn Tab-Reihenfolge-Logik und inhaltliche Verständlichkeit lassen sich damit nicht abdecken.
-
15.04.2025
Magentos Standard-Analyzer für die Produktsuche ist auf englischsprachige Fließtexte optimiert und stößt bei Artikelnummern mit Sonderzeichen sowie bei zusammengesetzten deutschen Wörtern schnell an seine Grenzen. Dieser Artikel zeigt, wie Magento Index-Mappings und Analyzer für OpenSearch tatsächlich aufbaut, wie sich ein eigener Analyzer für solche Sonderfälle registrieren lässt und wie sich dessen Wirkung direkt über die OpenSearch-API prüfen lässt, bevor er produktiv indexiert wird.
-
15.04.2025
Mit :has() kann CSS erstmals ein Element anhand seiner Nachfahren oder nachfolgenden Geschwister auswählen, eine Fähigkeit, auf die die Sprache jahrelang gewartet hat. Diese Mächtigkeit hat aber einen Preis: :has() zwingt den Browser, für jeden Kandidaten einen kompletten Teilbaum zu durchsuchen, statt nur einen einzelnen Knoten zu prüfen, was in großen DOM-Bäumen spürbar werden kann.
-
15.04.2025
Wer alle Umgebungen in eine einzige docker-compose.yml presst, kämpft bald mit Konfigurations-Drift, hart kodierten Passwörtern und Deploys, die lokal anders verhalten als in der CI. Profiles, Overrides und sauber getrennte .env-Dateien lösen genau diese Probleme – ohne dass das Compose-Projekt unverständlich wächst.
-
15.04.2025
Die Layered Navigation ist für Magento-Shops mit großem Sortiment unverzichtbar, weil sie Kunden erlaubt, Produkte nach Größe, Farbe, Marke oder Preis einzugrenzen. Aus SEO-Sicht erzeugt genau diese Flexibilität jedoch ein strukturelles Problem: Jede Filterkombination generiert theoretisch eine eigene URL, wodurch aus einer einzigen Kategorieseite schnell tausende, inhaltlich fast identische Varianten entstehen. Dieser Artikel zeigt, wie sich dieses Duplicate-Content-Risiko mit einer klaren Canonical-Strategie und einer bewussten Auswahl indexierbarer Filterkombinationen in den Griff bekommen lässt.
-
15.04.2025
Eine Open-Redirect-Schwachstelle entsteht, wenn eine Anwendung einen Nutzer basierend auf einem Parameterwert aus der Anfrage, etwa `?next=` oder `?returnUrl=`, ohne ausreichende Prüfung zu einer beliebigen externen URL weiterleitet, statt das Ziel auf die eigene Domain oder eine explizit erlaubte Liste zu beschränken. Für sich genommen wirkt dies harmlos, doch ein Angreifer kann diese Schwachstelle nutzen, um einen Link zu verschicken, der augenscheinlich auf die vertrauenswürdige, echte Domain zeigt, tatsächlich aber nach einem harmlos aussehenden Zwischenschritt auf eine vom Angreifer kontrollierte Phishing-Seite umleitet.
-
15.04.2025
Handgeschriebene TypeScript-Interfaces für REST-Endpunkte veralten schleichend, sobald sich das Backend weiterentwickelt, und liefern dann trügerische Typsicherheit statt echtem Schutz vor Laufzeitfehlern. Dieser Artikel zeigt, wie openapi-typescript und verwandte Tools TypeScript-Typen sowie typisierte Fetch-Clients direkt aus einer OpenAPI-Spezifikation erzeugen und wie sich dieser Prozess zuverlässig in Build- und CI-Pipelines verankern lässt.
-
15.04.2025
Fertige Regelsets decken generische Probleme ab, aber jedes gewachsene Projekt hat eigene Konventionen, die sich nur durch eigene Regeln maschinell durchsetzen lassen. Dieser Artikel zeigt den Aufbau einer ESLint-Regel von der Grundstruktur über syntaktisches und typisiertes Linting bis zu Fixer-Funktionen, Tests mit dem RuleTester und der Einbindung in eine ESLint-9-Flat-Config.
-
14.04.2025
Der automatische Property-für-Property-Vergleich von assertEquals() scheitert bei Wertobjekten mit eigener fachlicher Gleichheitsdefinition. assertObjectEquals() und eigene Comparator-Klassen lösen dieses Problem, indem sie die tatsächliche Vergleichslogik der Klasse selbst nutzen.
-
14.04.2025
Clickjacking täuscht Nutzer mit einem unsichtbaren iframe über einer echten Seite und lässt sie unbemerkt kritische Aktionen wie Kontolöschung oder Überweisungsbestätigung auslösen. Klassisches JavaScript-Frame-Busting lässt sich umgehen, während X-Frame-Options und die CSP-Direktive frame-ancestors als HTTP-Header zuverlässig verhindern, dass eine Seite überhaupt gerahmt wird.