Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek
… více »Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.
Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.
Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.
Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …
Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.
Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.
Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.
Jsem zakladatelem tohoto portálu. Linux jsem používal spousty let, nějaký čas jsem se aktivně podílel na jeho propagaci v Česku (CZLUG, časopisy ComputerWorld, Network Magazine atd). Se současným Abíčkem už nemám nic společného.
Dominik Joe Pantůček mě upozornil na závažnou díru v Abíčku. Sice jsem se o ni doslechl už dříve, ale teprve teď jsem si dokázal konkrétně představit, jak by se dala zneužít. S Joem jsme pak našli algoritmus, který by měl být dostatečně odolný.
Konkrétně šlo o to, že do parametru SRC bylo možno vložit speciální URL na provedení nějaké akce. Například byste do blogu přidali obrázek, jehož adresa by byla rovna odeslání komentáře s textem Leoš tam má díru. Každý, kdo by si blog otevřel, by okamžitě k němu přidal tento komentář. Nebo by šlo dělat skrytější akce, například hlasování v anketě, hodnocení blogu či smazání nového článku (pokud by si blog otevřel admin).
Teď jsem měl několik možností, jak situaci vyřešit. Například úplně zakázat obrázky, nebo povolit jen obrázky umístěné na abclinuxu v bezpečných adresářích. Vzhledem k možnosti redirektu totiž nemělo smysl považovat jakákoliv URL mimo abíčko za bezpečná. Ale nechtěl jsem omezovat uživatele a proto jsem se vydal jinou cestou - kontrolovat všechny akce, zda jsou volány tak, jak by měly být volány.
S Joem jsme došli k názoru, že útok na abíčko by musel jít jen přes GETové linky, tudíž první fronta obrany je ověření, zda akce přišla jako POST. Nicméně existuje poměrně dost akcí, které nejsou ve formuláři, ale jako odkazy. Například zmražení diskuse nebo hodnocení článku. Pro ně jsem musel vytvořit koncept ticketu, který je přiřazen ke každému uživateli. Pokud tedy akce může přijít jako GET, kontroluji, zda je vyplněn správný ticket. Ten je tajný a útočník se k němu nemůže dostat, leda chybou uživatele. A i pak by šel udělat útok na konkrétního uživatele, ale už ne obecný na všechny uživatele. Další obranou je kontrola referera. Ověřuji, zda předchozí stránka byla formulář či nikoliv.
Abíčko je velmi, ale opravdu velmi rozsáhlé a proto obsahuje spousty různých akcí a situací. Co platí pro jednu akci, pro druhou neprojde. Takže metoda ActionProtector.ensureContract() má čtyři přepínače, které určují, co se má kontrolovat. Využitých kombinací je většina.
Závěrem chci poděkovat Joeovi za pomoc. Pokud narazíte na další problém, prosím dejte mi vědět, pokusím se jej opravit.
PS. dostanete-li chybu Chybné volání akce, přečtěte si FAQ. Možná je chyba na vaší straně.
Tiskni
Sdílej:

popr nejaký perfekcionista, ktorému vadí, že tam vôbec nejaká chyba bola ...
To já jsem ale nehodnotil snahu vylepšovat abcl, já jsem hodnotil jen zápisek. A hned v prvním odstavci mě autor naštval použitím slova algoritmus. Nemám rád, když se vznešená slova používají pro každou blbinu (ikdyž je to třeba formálně správně). Když už jsme u toho tak, jsem se trochu podivil i nad použitím slova sofistikovaný ve vysvětlení té chyby. Je to balast, do vysvětlení nic takového nepatří. "Obsahuje sofistikovanou ochranu" nebo "vznikne číslo, které se zpracuje složitou matematickou funkcí (na bázi logaritmu)". Přispívají ta slova nějak k ozřejmění problému?
Snaha vylepšovat tenhle web je jistě hodna ocenění, ale představuju si trochu jiné ocenění než dobré hodnocení blogu. A taky je to oprava chyby, ne nová funkce, po které všichni prahneme
Kdyby ti každou hodinu na deset minut vypadl obraz v televizi kvůli nějaké chybě u provozovatele stanice, taky bys posílal děkovné dopisy až by to opravili? Jestliže něco závisí jen na nadšenectví několika málo jednotlivců, tak to nemůže mít tuhý kořínek a dříve nebo později to shnije. To se týká nejen tohohle webu ale i třeba samotného linuxu. I na to je třeba pamatovat při hledání správné formy ocenění.
Třeba nemá rád 100% čistotu, hodnotu atd.? Pak snad ale může ještě nehlasovat.