Adminer 5.4.2
Adminer 5.4.2 opravuje bezpečnostní chybu DoS: útočník může Admineru podstrčit nesprávně formátovanou verzi a Adminer se pak všem uživatelům na tomto serveru odmítne nahrát. Chyba postihuje verze 4.6.2 až 5.4.1. Pokud nemůžete Adminer aktualizovat, dá se chyba potlačit tak, že souboru adminer.version v dočasném adresáři (obvykle hodnota upload_tmp_dir) seberete práva zápisu.
Způsob kontroly nové verze byl dříve dost komplikovaný – z adminer.org se nahrál <iframe>, ten pomocí postMessage poslal informaci zpátky Admineru, který ji uložil do cookie a také do souboru na serveru. Tento soubor se vytvářel kvůli uživatelům s vypnutými cookies, kteří jinak server Admineru bombardují žádostí o novou verzi při každém požadavku. Aby soubor nemohl nikdo podstrčit, tak byl podepsaný – a právě při ověřování podpisu mohlo dojít k DoS.
Kontrolu nové verze jsem teď díky CORS dramaticky zjednodušil – Adminer se ptá adminer.org rovnou přes fetch a novou verzi ukládá jen do cookie. Snad mi to nesloží server. Připomínám, že kontrola nové verze se pomocí pluginu dá přepnout na GitHub, nebo úplně vypnout.
Další změny
- V editačním formuláři se JSON vypisuje hezky.
- Při změně tabulky lze upravovat víceřádkové generované hodnoty.
- Z textů, které začínají
//a vypadají jako URL, se nyní vytváří odkaz stejně jako když začínajíhttps://. - Některé ovladače v pluginech vracejí jako hodnoty tabulky pole. Toto pole se teď vykresluje jako vnořená tabulka.
- Některé databáze mají právo pro řazení podle sloupce. Adminer ho nyní respektuje při vytváření odkazů v záhlaví tabulky.
- V editačním formuláři se nyní zobrazují i hodnoty, které se nedají upravit. To jsou jednak generované sloupce a jednak sloupce bez práva modifikace (u některých databází např. auto increment).
- Při výpisu dat se zkracují textové sloupce. Ale typů, které se zkracovaly, postupně přibývalo, tak jsem podmínku znegoval – nyní se zkracuje vše kromě čísel a datumů.
- Pro ošetření hodnot cookie se používalo
urlencode. To asi někdy může způsobit nějaké komplikace, tak jsem to přehodil narawurlencode. (bug #1208) - V TSV exportu se do uvozovek zavíraly i hodnoty s čárkou. To sice ničemu nevadilo, ale nebylo to pěkné. (bug #1238)
- V MariaDB není název checků unikátní, takže se mohly zobrazit i checky z jiné tabulky. (bug #1135)
PostgreSQL
- Při vytváření tabulky se podle názvu sloupce nabízí vytvoření cizího klíče stejně jako to už 16 let dělá Adminer v MySQL. Změna přitom byla na pár řádek. Těch člověko-hodin, co jsem tím mohl ostatním ušetřit…
- V exportu checků chyběly závorky.
- … a naopak se duplikovalo
DEFERRABLEu cizích klíčů. - Lze vytvářet
NOT DEFERRABLEcizí klíče. - V exportu sekvencí a pohledů se nyní uvádí schéma stejně jako u tabulek.
- Opravil jsem zobrazování složitých generovaných sloupců.
- Unikátní částečné klíče se nyní označují jako unikátní. (bug #1172)
- U zděděných tabulek se správně zobrazují tabulky z jiných schémat. (bug #1221)
- Naopak všude kromě PostgreSQL se zobrazují explicitně vytvořené
NOT NULLchecky. (bug #1237)
Pluginy dostaly metody showVariables() a showStatus() (bug #1157). Také mohou být v jakémkoliv jmenném prostoru, pokud dědí z Adminer\Plugin.
Sponzoři
Mezi sponzory Admineru chci po první vlaštovce PikaPods přivítat také AI-Text-Humanizer.com.
Diskuse je zrušena z důvodu spamu.

