abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    13.9. 17:33 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.

    Ladislav Hagara | Komentářů: 0
    13.9. 01:33 | IT novinky

    Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si

    … více »
    Ladislav Hagara | Komentářů: 4
    12.9. 14:00 | Nová verze

    Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.

    Ladislav Hagara | Komentářů: 0
    12.9. 12:00 | Zajímavý článek

    Správcovský tým repozitáře F-Droid pro Android sdílí doporučení, jak řešit žádosti o odstranění nelegálního obsahu. Základem je mít nastavené formální procesy, vyhrazenou e-mailovou adresu a být transparentní. Zdůrazňují také důležitost volby jurisdikce (F-Droid je v Nizozemsku).

    🇵🇸 | Komentářů: 20
    12.9. 05:33 | Bezpečnostní upozornění

    Byly publikovány informace o další zranitelnosti v procesorech. Nejnovější zranitelnost byla pojmenována VMScape (CVE-2025-40300, GitHub) a v upstream Linuxech je již opravena. Jedná se o variantu Spectre. KVM host může číst data z uživatelského prostoru hypervizoru, např. QEMU.

    Ladislav Hagara | Komentářů: 0
    11.9. 22:00 | Komunita

    V červenci loňského roku organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo. Dnes bylo nové logo představeno. "Indiánské pírko" bylo nahrazeno dubovým listem a text Apache Software Foundation zkratkou ASF. Slovo Apache se bude "zatím" dál používat. Oficiální název organizace zůstává Apache Software Foundation, stejně jako názvy projektů, například Apache HTTP Server.

    Ladislav Hagara | Komentářů: 16
    11.9. 17:33 | Nová verze

    Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.104 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.104 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    11.9. 15:33 | IT novinky

    Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.

    Ladislav Hagara | Komentářů: 0
    11.9. 15:00 | IT novinky

    Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.

    Ladislav Hagara | Komentářů: 8
    10.9. 21:22 | Nová verze

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (7%)
     (3%)
     (3%)
     (4%)
     (2%)
    Celkem 176 hlasů
     Komentářů: 12, poslední 10.9. 13:00
    Rozcestník

    Čuňačíme v Mediawiki – Pozor na staré šablony

    11.3.2021 19:55 | Přečteno: 2448× | Za vším hledej Linux | poslední úprava: 11.3.2021 19:55

    Minulý pátek, po 12 letech a 8 měsících jsem změnil doménu u nejstarší, mnou kontinuálně provozované wiki. A nebyla to změna jediná.

    Aktualizace MediaWiki

    Nejprve jsem zvednul verzi MediaWiki z 1.34, které skončil životní cyklus loni na konci listopadu, na aktuální verzi 1.35, s podporou až do září 2023. A s tím byl pochopitelně spojen také upgrade používaných rozšíření.

    Z toho jsem měl poněkud obavy, protože udržovat kód rozšíření tak, aby všechno fungovalo i s aktuální verzí MediaWiki není žádná sranda. Většina jejich tvůrců má svojí práce dost a řeší jiné problémy než zrovna to, jestli rozšíření, které si napsali pro MediaWiki verze 1.12 se dá používat i s verzí 1.35.

    Problémy, spojené s nějakým rozšířením, se po aktualizaci MediaWiki obvykle projeví tak, že server zobrazí nějakou chybu, nebo nic. A řeší se tak, že se nejdřív zakomentují všechna používaná rozšíření, a pak se znovu postupně zapínají, od těch nejdůležitějších po ta méně důležitá, dokud nepřijdete na to, které z nich způsobuje problém.

    Pokud se aktualizujete nějakou starší MediaWiki (viz životní cyklus verzí MediaWiki, tak doporučuji “vyskákat” nejprve na nejbližší LTS verzi a teprve pak aktualizovat dál až po aktuální LTS verzi. I tak si ale nejprve ověřte, jestli lze vámi používaná rozšíření použít. Tyhle informace najdete na vývojářském webu https://www.mediawiki.org, kde má každé rozšíření svou stránku.

    Změna domény a certifikát

    Důvodem pro změnu domény bylo postupné sjednocení domén používaných v rámci FEL ČVUT. Tato fakulta sídlí ve dvou lokalitách. V Dejvicích a na Karlově náměstí, a historicky se tak používaly dvě domény feld.cz a felk.cz.

    Web katedry řídicí techniky, kde jsem v květnu 2008 nastoupil, používal původně doménu dce.felk.cvut.cz proto jsem zvolil pro wiki, která měla za cíl zdokumentovat do té doby panující chaos, doménové jméno support.dce.felk.cvut.cz.

    Peripetie katederního webu jsem naštěstí řešil pouze okrajově. Nastoupil jsem, coby specialista přes virtualizaci v linuxovém prostředí, se základním cílem a předsevzetím – do windows už ani klacíkem. Ovšem v době, kdy už bylo defakto rozhodnuto o tom, že se nový web katedry rozjede na redakčím systému MediaCentrik, které však bylo MS Windows server only – do té doby běžel katederní web na BSD. Proto byl na jeho správu přijat kolega, specialista na MS Windows. Tento takzvaný “nový web katedry” používal doménu www.dce.felk.cvut.cz

    S tímto webem byl ale neustálý oser. Navíc, kolega až jinak fajn kluk to vůbec neuměl s linuxem, takže ho pár let nahradil budoucí šéf SVTI, kterému se podařilo cca po třech letech té MS Win only verze katederního webu konečně zbavit. “Nový nový katederní web” pak měl primární doménu www.dce.cz. Dnes již všechny tyhle domény vedou na https://control.fel.cvut.cz.

    U stroje support jsem s aktualizací a změnou domény (a IP adres) vyčkával až bude po obhajobách, protože se jeho prostřednictvím zveřejňují také bakalářské a diplomové práce studentů. Certifikát končil teď v březnu, takže jsme to spojili s přechodem na Lets' encrypt. Vše proběhlo minulý pátek a pochopitelně se to neobešlo bez problému.

    Chyba 501

    Google umožňuje změnu domény u naindexovaných URL, ale podmínkou k úspěšné realizaci této operace je funkční přesměrování. Než se do toho pustí, kontroluje, jestli se ze všech naindexovaných adres vrací permanent redirect (301). No a v tom byla potíž. Původní certifikát byl vyexpirovaný a nový byl vystaven pouze pro novou doménu, takže veškeré moje pokusy o přesměrování končily na SSL_ERROR_RX_RECORD_TOO_LONG

    Příčina i řešení tohoto problému byla jako obvykle lapidární. Především jsme se s kolegou nepochopili. Nedošlo mi, když mi sděloval že “Lets' encrypt je pro supporta povolený” že tím měl na mysli že je to povolené i pro původní doménu. Ovšem poté co jsme si to vyjasnili, pokus o vygenerování certifikátu pro obě domény stejně selhal. Ukázalo se, že chyběl ještě CAA záznam.

    Po vyřešení přesměrování začal Google konečně přesouvat naindexovaná URL, ovšem asi z 11 tisíc naindexovaných url adres jich asi 20 házelo error 501, což bylo divné. A skutečně, když jsem se pokusil některou z nich otevřít, skončil jsem s bílou plochou prohlížeče.

    Bylo jasné, že za tím vězí nejspíš moje rozšíření AccessControl. To jsem však kompletně přepsal už předloni a pro verzi 3.0.2, až doposud nikdo žádný problém neoznámil. A jak to, že zrovna tyhle stránky? Kdyby nebyly dostupné, tak by je přeci google nenaindexoval.

    Vrtalo mi to v hlavě, ovšem abych se na některou z těch stránek dostal a zjistil v čem je problém, bylo nutné ho rozšíření dočasně vypnout.

    Ukázalo se, že ty problémové stránky natahovaly šablonu Smazat. Poté co jsem zrušil její obsah, a rozšíření znova zapnul byly stránky normálně dostupné. Chyba tedy byla v šabloně. Jenže její obsah nebyl na první pohled ničím výjimečný.

    Používala se jen u stránek určených ke smazání, takže žádná tragédie. Ale přece jen. Proč skončil zacyklením také pokus o otevření stránky s šablonou? Byla to jedna z nejstarších šablon, zkopírovaná v září 2008 z Wikipedie. Tehdy se používala s MediaWiki verze 1.12, ale zrovna tahle šablona se používala jen krátce a to hlavně kolem roku 2014, kdy na údržbě wiki pracovala skupina studentů, takže v té době musela rozhodně fungovat. Souvisel ten problém s MediaWiki verze 1.35, nebo trval delší dobu? To už jsem zpětně ověřit nemohl.

    Příčina

    Ale byla tam ještě jedna problémová stránka – singlepage stránka s manuálem k DjVu. Zjistil jsem, že jedna z inkludovaných stránek používá komplexní šablonu, která na základě předaných parametrů natahuje dvě naprosto jednoduché šablony vytvořené v roce 2015. Ovšem ty už jsem si napsal sám. Se šablonou Smazat měly ale jedno společné – způsob, jakým byly dokumentovány.

    Od roku 2015 používám dokumentaci vkládanou přes šablonu Dokumentace. Ovšem u inkriminovaných šablon byla dokumentace napsaná přímo do šablony a uzavřená do elementu noinclude. A pochopitelně tam byl i ukázkový příklad použití šablony. A to bylo ono!

    Zjistil jsem, že MediaWiki má jednu nepříjemnou chybu, která je ve spojení s rozšířením AccessControl verze 3.x fatální. V roce 2019, během MediaWiki Hackatonu a asi 14 následujících dní jsem tohle rozšíření přepsal pro potřebu Semantic wiki tak, aby bylo možné používat access listy na bázi šablon. Vše jsem důkladně otestoval, takže mě nenapadlo že by mohl někde nastat problém. Jenže jak se ukázalo, problém nastane, pokud se pokud šablona inkluduje sebe sama.

    Nevím sice od kdy, ale od určité doby MediaWiki při náhledu varuje před zasmyčkováním šablony, ale netušil jsem, že takový kód dovolí uložit. Dodatečně, metodou pokus omyl, jsem pak zjistil že ani mému rozšíření to nevadí. Až na jedinou výjimku a tou jsou právě šablony. Tím, že MediaWiki kód nejprve uloží a teprve pak interpretuje, nastane situace kdy vznikne nekonečná smyčka a další editace, která by umožnila chybu opravit, již není možná. Pokud o načtení takové stránky končí s následující chybou:

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8388616 bytes) in /srv/main/wiki/includes/libs/stats/BufferingStatsdDataFactory.php on line 89

    Nejprve jsem tedy kontaktoval Nicholase, na jehož přání jsem změny implementoval, abych ho na případný problém upozornil. A pak jsem začal pracovat na opravě. Bylo nezbytně nutné přidat hook, který by kód ověřil ještě před jeho uložením a v případě self-include jeho uložení zabránil.

    V té době už jsem měl tenhle blogpost prakticky napsaný, ale počkal jsem s jeho uveřejněním na to až bude nová verze 4.0 v git repozitáři MediaWiki. Přijde mi, že jde o natolik zásadní změnu, že si to zasloužilo navýšení verze, byť oprava nebyla z hlediska kódu nijak veliká. I z bezpečnostního hlediska to nebyl nějak zvlášť zásadní problém. Obsah nedostupných stránek nebyl nijak kompromitován. Ale to, že pro vyřešení problému je nutné zabezpečení dočasně vypnout mi přišlo jako hodně velký bezpečnostní problém.

    Už by k němu tedy nemělo dojít. Většina uživatelů na šablony stejně nehrabe. Problém by mohl nastat jedině v případě, že by chtěl někdo záměrně uškodit tím, že by takto zasmyčkoval nějakou hodně používanou šablonu. Ovšem soudný administrátor takové šablony zamyká. Ale hlavně si říkám, jak bych na ten problém vůbec přišel, kdyby mi ho neoznámil google, protože zasmyčkovanou šablonu vyhledávání ignoruje. Nevíte-li o ní, tak to vypadá jako kdyby neexistovala. Jenže ona existuje a jejím použití bezpečně zabetonuje stránku, do které byla vložena.

    Na téma MediaWiki zde ode mne v minulosti vyšlo…

    1. (11.3.2015)MediaWiki - rozšíření Translate - kromě rozšíření Translate zde padla zmínka také o rozšíření AccessControl.
    2. (12. 3.2015) Čuňačíme v MediaWiki - příklad využití rozšíření ExternalRedirect.
    3. (14. 3.2015) Čuňačíme v MediaWiki dál - popisuje, jak v prostředí MediaWiki modifikovat textové zprávy k rozšíření ConfirmAccount.
    4. (15. 3.2015) Od čuňáren ke korektnímu obsahu MediaWiki - popisuje jak u multijazyčné wiki využívat možnosti rozšíření ParserFunctions
    5. ( 1. 4.2015) Čuňačíme v MediaWiki - opět - popisuje jak využít možností rozšíření ParserFunctions MyVariables k modifikaci nabízeného obsahu wiki na základě autentifikace.
    6. ( 2. 4.2015) MediaWiki - dynamicky generované stánky - názorná ukázka využití rozšíření DynamicPageList (third-party) pro dynamicky generované stránky v MediaWiki. Kromě toho se zde objevila zmínka or rozšíření Loops a Variables, které umožňují v šablonách využívat smyčky a uživatelsky definované proměnné.
    7. ( 3. 4.2015) Čuňačíme v MediaWiki - proč? seznámení s tím, jak a proč jsem se dostal k MediaWiki
    8. (17. 8.2018) Čuňačíme v MediaWiki - responzivní obrázky blogpost o tom, jak donutit MediaWiki aby responzivně pracovala s obrázky. Součástí je šablona mé provenience, která využívá kromě již uvedených rozšíření navíc rozšíření ImageSizeInfoFunctions
    9. ( 3. 4.2019) Čuňačíme v Mediawiki – RecentChanges bez javascriptu
    10. (10. 4.2019) MediaWiki.org - překlad dokumentace
    11. (20. 5.2019) Wikimedia Hackaton 2019
    12. (12. 7.2020) Čuňačíme v MediaWiki - výřezy z obrázků
    13. ( 7. 1.2021) Čuňačíme v MediaWiki - responzivní obsah II., o pomocné šabloně I-size
    14. (10. 2.2021) Čuňačíme v MediaWiki - šablony jako nástroj., o pomocných šablonách ToDo, transstat, hop a block
    15. (26. 2.2021) Čuňačíme v MediaWiki - povídání z jiného světa, o šabloně BIO
           

    Hodnocení: 86 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.