Adminer 6.0.2

Zkompilovaný Adminer načítá statické soubory (CSS, JS, logo) pomocí ?file=default.css s hlavičkami Expires a Cache-Control: immutable. Některé hostingy ale všem PHP skriptům dávají své vlastní hlavičky, které kešování naopak natvrdo vypnou. Skript s tím bez změny konfigurace serveru nemůže nic udělat a Adminer je pak pomalý. Uchýlil jsem se proto k tomuto řešení: Adminer si registruje service worker, který statické soubory nakešuje a při dalším požadavku je servíruje on. Metodou serviceWorker() se to dá vypnout.

Všechny změny, zde jen ty zajímavé:

  1. Pro databáze bez podpory DDL transakcí Adminer dělá změny tímto postupem: vytvoř zkušební, smaž zkušební, smaž původní, vytvoř nový. Tím se sníží šance, že by se smazal starý objekt a pak se nepodařilo vytvořit nový. Nová verze to dělá i u kontrol CHECK.
  2. U víceřádkových zkrácených textů je místo celého posledního řádku.
  3. Čísla se formátují podle jazykových zvyklostí, např. v češtině se jako oddělovač tisíců používá narrow non-breaking space, v bengálštině má neposlední skupina jen dvě číslice.
  4. Uložené procedury a funkce při změně dovolují editovat všechny volby, např. DETERMINISTIC.
  5. Odkaz Načíst další data zůstane viditelný i po odscrollování doprava.
  6. Zjednodušil jsem RTL rozložení pomocí CSS vlastností margin-inline-start a spol.
  7. MySQL: Pokud je s tabulkou nějaký problém (např. chybějící datový soubor), tak to MySQL reportuje v komentáři tabulky. Přepíše tím ale původní komentář. Adminer proto nově získá komentář z jiného zdroje a chybu zobrazí jako chybu.
  8. PostgreSQL: V PDO jsem opravil export boolean sloupců.
  9. SQLite: Přidal jsem podporu fulltextového vyhledávání a ostatních virtuálních tabulek.
  10. MS SQL: Podporované typy se nyní načítají přímo z databáze.
  11. Pluginy ovladačů se od předchozí verze kompilují podobně jako Adminer, takže jsem jim mohl přidat typové anotace.
  12. Přidal jsem vzhled cPanel, který se mi líbí i sám o sobě.
Jakub Vrána, Adminer, 7.9.2026

Diskuse

Jirka:

Pěkný den, chtěl bych se zeptat, zda je nějaký způsob, jak se přihlásit do Admineru přes externí tlačítko? Já třeba používal normální <form>, který pošle (post) na adminer.php parametry auth[driver], auth[server], auth[db], auth[username] a auth[password], ale aktuálně mě to vždy vrátí na úvodní přihlašovací okno Admineru, u předchozích verzí to fungovalo dle očekávání. Ještě je tam nějaký parametr token, jestli to s tím nesouvisí? Děkuju.

ikona Jakub Vrána:

Ano, CSRF (https://php.vrana.cz/cross-site-request-forgery.php) ochranu jsem dal i do přihlašovacího formuláře, protože útočník by mohl přihlásit nevědomého uživatele, který by pak posílal svá data omylem na jeho server. Vypnout se to bohužel momentálně žádným pluginem nedá.

Jirka:

Rozumím a děkuju. :-)

RS:

Napadlo mě dál by se přidat hook pro explain?
Chtěl bych si napsat plugin který by vylepšil postgresacky explain a integroval https://pev2.pages.dev/

Děkuji

Vložit komentář

Používejte diakritiku. Vstup se chápe jako čistý text, ale URL budou převedeny na odkazy a PHP kód uzavřený do <?php ?> bude zvýrazněn. Pokud máte dotaz, který nesouvisí s článkem, zkuste raději diskusi o PHP, zde se odpovědi pravděpodobně nedočkáte.

Jméno: URL:

avatar © 2005-2026 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.