Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
https://www.xxx.zzz/AAA/BBB/C.txtMuze byt soubor C.txt klidne ulozeny v adresari /www/data/ a nemusis vytvaret /AAA/BBB/. Format URI je ciste tvoje vec a muze tam byt cokoli. Pokud chces jedinecne URL. Ukladej si do tabaze nejaky vygenerovany "hash" na ktery budes odkazovat:
id | soubor | hash 0 | C.txt | 79054025255fb1a26e4bc422aef54eb4Vsechny soboury muzes ukladat na jedno misto, treba /www/data/ a soubor se ulozi jako '79054025255fb1a26e4bc422aef54eb4'. Kyz zadas:
https://www.xxx.zzz/79054025255fb1a26e4bc422aef54eb4Retezec se porovna z databazi a vrati /www/data/79054025255fb1a26e4bc422aef54eb4 jako C.txt a dalsi 1000 a jedna moznsti.
Ale nextcloud mi neresi automatické vytvareni tech adresaru podle ID. Vyhodou by mozna bylo ze to muze hned nasdilet.
id | soubor | path | hash 0 | C.txt | 79/05/40/25255fb1a26e4bc422aef54eb4 | 79054025255fb1a26e4bc422aef54eb4alebo
id | soubor | path | hash 0 | C.txt | 790/540/25255fb1a26e4bc422aef54eb4 | 79054025255fb1a26e4bc422aef54eb4
Teoreticky to jde, můžeš napsat v PostgreSQL funkci, která zavolá systémový příkaz mkdir (nebo spíš sudo ... mkdir ...), a tuhle funkci volat z triggeru/pravidla při vkládání záznamu do tabulky.
Ale nepřijde mi to jako dobrý nápad a nemyslím si, že by to vůbec bylo potřeba. Ten program (PHP?), který bude vytvářet soubor přece musí vědět, v jaké složce ho vytváří - tudíž si tu složku může vytvořit sám před vytvořením souboru. Tím pádem to nemusíš složitě řešit v PostgreSQL (je to trochu bezpečnostní riziko, zbytečná komplikace, DB ti běží pod jiným uživatelem...).
Další věc je, že adresářová struktura na disku vůbec nemusí odpovídat struktuře URL. Požadovaný soubor můžeš poslat buď z PHP skriptu nebo pokud máš aplikační server, tak stačí nastavit HTTP hlavičku X-Accel-Redirect nebo X-SENDFILE a tím říct HTTP serveru, který soubor má poslat – data pak netečou přes aplikační server, nezatěžují ho a servíruje je přímo Apache nebo Nginx z disku.
V te aplikaci mohu jako dalsi atribut prvku pouzit url adresu, ktera bude obsahovat to ID. Kliknutim na toto url spustim php script, ktery zkontroluje zda adresar existuje a pokud ne tak ho vytvori. Pouzije na to to ID z url.
Tam jen pozor na to, že uživatel (potenciálně útočník) si může ten URL parametr přepsat a poslat tam, co chce. Takže bych to udělal nějak takhle:
Tiskni
Sdílej: