Skip to content

Releases: galandras12/Wordpress_mesterjelszo

1.0.4-es javított kiadás

Pre-release

Choose a tag to compare

@galandras12 galandras12 released this 22 Jul 09:15
470aeaa

Mesterjelszó - Változásnapló

[1.0.4] - HOTFIX

Kritikus javítás: színválasztó és médiafeltöltő gombok nem működtek

Az 1.0.3-ban javított fül-váltási hiba ugyanazon gyökérokának egy másik,
addig fel nem ismert következménye jelentkezett: az admin felületen a
háttérszín-választó palettája nem jelent meg (sem a világos, sem a sötét
téma-barát színek), a logó és a háttérkép "Kiválasztás" gombjaira kattintva
pedig egyáltalán nem nyílt meg a WordPress média-feltöltő ablak.

Ok: az 1.0.3-as javítás kizárólag a fülváltás logikáját emelte ki a
megosztott jQuery(document).ready() eseménysorból - a színválasztó
(initColorPickers()) és a média-feltöltő (initMediaPickers())
inicializálása, valamint az összes többi admin.js funkció, továbbra is
ugyanabban a veszélyeztetett callback-ben futott. Ha egy másik, ugyanazon
az admin oldalon betöltődő bővítmény szkriptje hibát dob a saját
ready-callback-jében, az megakaszthatja az ez után regisztrált
callback-eket - jelen esetben a plugin TELJES admin.js inicializálását,
nem csak egy részét.

Javítás: az admin.js indítási mechanizmusa véglegesen átalakult:

  • többé nem jQuery(document).ready()-n keresztül indul, hanem natív
    document.readyState ellenőrzéssel és DOMContentLoaded
    eseményfigyelővel - ez teljesen független a jQuery saját, megosztott
    ready-sorától, ezért más bővítmények szkript-hibái nem tudják
    megakasztani;
  • minden egyes inicializáló funkció (színválasztó, média-feltöltő,
    átlátszóság csúszka, háttértípus-váltó, jelszó-mutat gombok,
    jelszó-egyezés ellenőrzés, élő előnézet, jelszó-megtekintés,
    "emlékezz rám" kapcsoló, megbízható IP-k kapcsoló) mostantól KÜLÖN
    try/catch blokkban fut - ha bármelyik hibát dobna (pl. hiányzó
    függőség miatt), az többé nem akasztja meg a többi funkció indulását;
    a hiba a böngésző konzoljába kerül kiírásra, jól azonosíthatóan a
    funkció nevével.

A wp-color-picker és a wp.media komponensek maguk természetesen továbbra
is jQuery/Backbone-alapúak és jQuery-t igényelnek - ez nem változott,
csak az INDÍTÁSUK módja lett független a megosztott ready-sortól.

Változás: alapértelmezett megjelenési mód

A jelszókérő felület alapértelmezett megjelenési módja "Sötét"-ről
"Világos"-ra változott, az ehhez illő, olvasható kontrasztú
alapértelmezett háttér- (#eef2f7) és szövegszínnel (#1a1c2c).
FONTOS: ez a változás KIZÁRÓLAG az újonnan telepített (vagy a
beállításokat még sosem mentett) weboldalakat érinti - ha már korábban
elmentetted a megjelenési beállításokat, azok változatlanul megmaradnak,
a mentett érték felülírja az alapértéket.

Technikai részletek fejlesztőknek

  • admin/js/mesterjelszo-admin.js: az indítás mjzAdminInit() néven
    önálló függvénybe szervezve, document.readyState/DOMContentLoaded
    alapon hívva; minden korábbi init*() hívás egy tömbön keresztül,
    egyenként try/catch-csel védve fut le.
  • includes/class-mesterjelszo-admin.php:
    get_default_settings() - color_mode alapértéke 'dark''light',
    bg_color alapértéke '#1a1c2c''#eef2f7',
    text_color alapértéke '#ffffff''#1a1c2c'.

[1.0.3] - HOTFIX

Kritikus javítás: az admin fülek nem nyíltak meg kattintásra

Több felhasználó jelezte, hogy az admin beállítási oldalon a
"Megjelenés", "Biztonság" és "Bejelentkezési napló" fülekre kattintva
semmi nem történt - a hover (rákattintás nélküli egérrel való rámutatás)
vizuális visszajelzése látszott, de a tényleges tartalom nem váltott át,
kizárólag az "Alapbeállítások" fül maradt látható és használható.

Valószínűsíthető ok: a tab-váltás logikája korábban egy jQuery
document.ready (jQuery(function(){...})) callback-en belül futott, a
plugin saját admin.js fájljában. Ha egy MÁSIK, ugyanazon az admin oldalon
betöltődő bővítmény szkriptje (a felhasználó esetében számos aktív
bővítmény - pl. Activity Log, Ultimate Member, Wordfence, Burst
Statisztika - egyaránt szóba jöhet) hibát dob a saját, szintén
document.ready-re feliratkozó kódjában, az bizonyos körülmények között
megszakíthatja az UTÁNA regisztrált ready callback-ek lefutását - ez
pontosan megmagyarázza, hogy a tiszta CSS-alapú hover miért működött
(nem függ JavaScript-től), miközben a kattintásra történő váltás
(jQuery-függő JS) miért nem futott le.

Javítás: a tab-váltás logikája teljesen kikerült a jQuery-alapú
admin.js fájlból, és egy önálló, natív (vanilla) JavaScript
<script> blokként került beágyazásra közvetlenül a fülek (<nav>)
HTML kódja mellé, a settings-page.php-ban. Ez a megoldás:

  • nem használ jQuery-t, ezért nem függ attól, hogy a jQuery megfelelően
    töltődött-e be, vagy hogy más bővítmények hogyan használják;
  • nem egy megosztott document.ready eseménysoron keresztül fut, ezért
    más bővítmények szkript-hibái nem tudják megakasztani;
  • közvetlenül a saját markup-ja mellett helyezkedik el, ezért semmilyen
    külső fájl betöltési sorrendjétől vagy sikerességétől nem függ.

Ha korábban ezt a problémát tapasztaltad, a frissítés után a fülek
azonnal, minden további teendő nélkül ismét működnek.

Új funkciók

  • Vizuális hibajelzés hibás jelszónál (jelszókérő felület)
    Hibás mesterjelszó megadásakor a jelszómező és a "Belépés" gomb
    mostantól jól látható, vörös kerettel (és finom fénykerettel)
    jelenik meg - a szín mindkét megjelenési módban (világos és sötét)
    külön hangolt, megfelelő kontrasztú árnyalatra vált (sötét módban
    világosabb korall-vörös, világos módban telítettebb, sötétebb vörös),
    hogy mindkét témán jól olvasható és észrevehető legyen.

  • Remegés animáció hibás próbálkozáskor
    A jelszómező (a szem-ikon gombbal együtt) egy rövid, finom
    megremegéssel jelzi a sikertelen próbálkozást, tovább erősítve a
    vizuális visszajelzést. Az animáció tiszteletben tartja a
    prefers-reduced-motion beállítást (a mozgás-érzékeny felhasználóknál
    automatikusan kikapcsol).

Technikai részletek fejlesztőknek

  • admin/js/mesterjelszo-admin.js: az initTabs() függvény és annak
    hívása eltávolítva.
  • admin/partials/settings-page.php: új, önálló <script> blokk a
    <nav class="mjz-tabs"> után, natív addEventListener-alapú
    tab-váltással, DOMContentLoaded védelemmel (ha a script a <body>
    még be nem fejezett betöltése közben fut le).
  • public/css/mesterjelszo-public.css: új --mjz-error és
    --mjz-error-glow CSS egyéni tulajdonságok, témánként külön értékkel;
    új .mjz-shake kulcsképkocka-animáció; új .mjz-submit.mjz-error-state
    szabály.
  • public/js/mesterjelszo-public.js: a showError()/clearError()
    függvények kiegészítve a gomb hibaállapot-osztályának kezelésével és
    egy új triggerShake() segédfüggvénnyel (kényszerített reflow-val az
    animáció megbízható újraindításához ismételt hibáknál is).

[1.0.2] - HOTFIX

Kritikus javítás: teljes weboldal-elérhetetlenség (503 hiba)

Több felhasználó jelezte, hogy a védelem bekapcsolása után a TELJES
weboldal - a bejelentkezési felülettel (wp-login.php) együtt - Error
503-mal vált elérhetetlenné, és a probléma azonnal megszűnt a védelem
kikapcsolásával.

Ok: a bővítmény korábban minden gate-megjelenítéskor MINDIG valódi
HTTP "503 Service Temporarily Unavailable" állapotkódot küldött, kifejezetten
SEO-megfontolásból (hogy a keresőmotorok ne indexeljék a jelszókérő
oldalt). Számos tárhelyi környezet - reverse proxy, CDN, gyorsítótár
(pl. LiteSpeed Cache) vagy biztonsági/tűzfal bővítmény (pl. Wordfence) -
azonban a saját, márkázott hibaoldalával helyettesíti az ilyen válaszokat,
ahelyett hogy továbbengedné a szerver által ténylegesen visszaadott HTML
tartalmat. Emiatt a látogató (és a webhely tulajdonosa) a plugin saját,
stílusos jelszókérő felülete helyett a tárhely/CDN generikus hibaoldalát
látta - függetlenül attól, hogy egyébként minden helyesen működött volna.

Javítás: a jelszókérő oldal mostantól ALAPÉRTELMEZETTEN sima HTTP
200-as válaszkóddal jelenik meg. A keresőmotoros indexelés elkerülését
továbbra is biztosítja a
címke és az X-Robots-Tag fejléc, HTTP hibaállapot nélkül is. A korábbi,
503-as viselkedés egy admin felületen (Biztonság fül → "Speciális /
kompatibilitás" kártya) kikapcsolható-bekapcsolható beállítás lett,
egyértelmű figyelmeztető szöveggel, saját felelősségre.

Ha korábban ezt a problémát tapasztaltad, a frissítés után a szokásos
módon aktiválhatod újra a védelmet - nincs szükség további teendőre.

Új funkciók

  • Bejelentkezési napló ("Bejelentkezési napló" admin fül)
    A sikertelen mesterjelszó-próbálkozásokat mostantól egy dedikált
    adatbázistábla naplózza: időpont, IP-cím, valamint (késleltetve,
    háttérben feltöltött) ország és város. Az admin felület négy összesítő
    számlálót mutat: 1 napon belül / 1 héten belül / 1 hónapon belül / 1
    éven belül történt sikertelen próbálkozások száma, valamint egy
    táblázatot a legutóbbi 100 próbálkozásról. A napló "Napló törlése"
    gombbal bármikor üríthető, és 1 évnél régebbi bejegyzések automatikusan
    törlődnek.
    A geolokációs adatokat (ország, város) egy külső, ingyenes, kulcsot nem
    igénylő IP-lekérdező szolgáltatás (ip-api.com) biztosítja; a lekérdezés
    SOSEM történik szinkron módon a látogató jelszó-beküldése közben (ez
    lassítaná a választ), hanem késleltetve, az admin naplófül
    megtekintésekor, kis kötegekben, 30 napos gyorsítótárazással. Helyi/privát
    IP-címekre nem történik külső lekérdezés.

  • Megbízható IP-címek listája
    A Biztonság fülön bekapcsolható és soronként feltölthető egy IP-cím
    lista (pontos IP vagy egyszerű IPv4 CIDR jelölés, pl.
    "203.0.113.0/24"), amelyről érkező látogatók automatikusan, a
    mesterjelszó megadása nélkül átjutnak a jelszókérő felületen. A
    funkció alapértelmezetten KIKAPCSOLT állapotú.

  • AJAX végpont kivételek
    A Biztonság fülön soronként megadh...

Read more