Favicons werden nun serverseitig über einen WordPress-AJAX-Proxy geladen
und als Transient gecacht (7 Tage), statt direkt aus dem Admin-Browser
an Google zu gehen. Damit verlässt die IP des Admins nie den eigenen
Server.
- Neuer AJAX-Handler ajax_favicon_proxy() in class-analytics-page.php
- Permission-Check über Jejeresources_Umami_Permissions
- SSRF-Schutz via gethostbyname + FILTER_FLAG_NO_PRIV_RANGE/NO_RES_RANGE
- Strikte Domain-Validierung (Subdomains erlaubt, IPs/localhost blockiert)
- Negativ-Cache (1 Tag) bei Fehlern
- isValidDomain in helpers.js akzeptiert nun Subdomains und kurze TLDs
Full Changelog: v1.1.0...v1.2.0