Poštovní klient Thunderbird byl vydán v nové verzi 153 s kódovým názvem Meadow. Jedná se o ESR (Extended Support Release) vydání. Přehled novinek v poznámkách k vydání. Vylepšuje OAuth. Thundermail lze používat bez instalace doplňku.
AI tento rok naplno vtrhla do vývoje softwaru a výrazně ovlivňuje také open source projekty. Jiří Eischmann v příspěvku Jak mění AI open source na svém blogu rozebírá několik trendů, které v open source v poslední době v souvislosti s AI pozoruje, a jak tyto trendy svět otevřeného softwaru mění (Inflace projektů, Zahlcení kontroly, Klesající motivace zveřejňovat kód).
Evropská komise (EK) vyměřila americké internetové společnosti Google pokutu 890 milionů eur (21,5 miliardy Kč) za porušení unijního nařízení o digitálních trzích (DMA). Firma se podle unijní exekutivy provinila tím, že ve vyhledávači Google Search upřednostňovala vlastní služby a že podnikům ukládala omezení, která jim bránila nasměrovat spotřebitele k alternativním, často levnějším nákupním kanálům na platformě Google Play.
… více »Samsung na akci Galaxy Unpacked July 2026 (YouTube) představil své nové telefony Galaxy Z Fold8 Ultra, Fold8 a Flip8, hodinky Galaxy Watch Ultra2 a Watch9 a chytré brýle ve spolupráci s Gentle Monster a Warby Parker.
Po pěti letech vývoje vyšla česká počítačová hra Scarlet Deer Inn (ProtonDB). Scarlet Deer Inn je vyšívaná temná středověká pohádka. Zatímco život ve zdánlivě obyčejné vesnici se točí kolem běžných povinností a sousedských drbů, v podzemí se skrývají zlověstná tajemství.
Představen byl Raspberry Pi Touch Display 2 s uhlopříčkou 10 palců a rozlišením 1200 × 1920 pixelů. Cena je 80 dolarů.
RPCS3 (Wikipedie), tj. open source emulátor Sony PlayStation 3, snížil minimální požadavky. Nově jsou podporovány starší grafické karty ATI Radeon řady HD 2000, 3000 a 4000 z let 2007 až 2009. Na PC běží už 75 % všech her pro PlayStation 3. V budoucnu bude RPCS3 fungovat bez firmwaru z PS3. V RPCS3 byl implementován systémový modul cellSysmodule (𝕏).
Vyšel open-source nástroj winetop (MIT) — nativní CLI/TUI pro sledování a ukončování Wine, Proton, Lutris, Heroic a Bottles sezení. Seskupuje procesy podle WINEPREFIX / Steam AppId, umí bezpečně zabít jen hru (včetně Steam reaperu) a nabízí i skriptovatelné příkazy (list, kill, orphans, …). Balíčky jsou mimo jiné na crates.io, Copru (dnf copr enable kovariadam/winetop), PPA ppa:kovariadam/winetop a AUR (winetop-bin).
Ve spolupráci společností OpenAI a Work Louder byla představena (𝕏) hardwarová klávesnice Codex Micro pro práci s AI agenty. Cena klávesnice je 230 dolarů.
Byl vydán Mozilla Firefox 153.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 153 bude brzy k dispozici také na Flathubu a Snapcraftu.
V php se moc nevyznám, ale kdyby uživatel poslal soubor s názvem ".." tak dostane zápisové právo do nadřazeného adresáře?
nechci to zkoušet, ale nešlo by $_GET['nazev_souboru'] dát třeba "osklivyskript.php?neco=jpg"?
ne, samozřejmě že nešlo ;)
Ja tam vidím len to, že môže prepísať iné súbory, ktoré tam už sú, ale to asi nebude tá chyba, lebo to by bolo príliš jednoduché. 
Zkusím vylučovací metodu:
1) Pokud to zde je napsané, asi na tom něco bude, tedy kód není čistý
2) V podmínce je, že jsou v daném adresáři i skripty (což je na pováženou, ale budiž), takže spuštění skriptu v tom adresáři je podmínka nebezpečnosti
3) V php nedělám, ale kód nepustí soubor s příponou .php a lomítkem. Nejedná se tedy o bezpečnosti typu přepsání souboru mimo tento adresář (takže riziko se bude odehrávat nejspíš v daném adresáři)
4) Kód neošetřuje .htaccess, je riziko spojené s tímto?
Ke čtvrtému bodu:
Wow, soubor .htaccess by to opravdu vzalo a pomocí něj by se např. daly definovat jako PHP skripty i soubory s jinou příponou, které by aplikace pustila. Takže ano, gratuluji, na jednu chybu jste přišel 
Nicméně tuto chybu jsem neměl na mysli, hledejte dál 
Soubor s hesly by měl být někde úplně mimo (třeba v /etc).
Neberu to jako webserver, ale jako webovou aplikaci – tu si můžeš klidně nainstalovat jako baliček systému a je celkem normální, aby měla svůj adresář v /etc, jako všechny ostatní aplikace.
Pokud je to na webhostingu nebo je potřeba tu aplikaci provozovat ve víc instancích, je spráné, abys měl strukturu třeba:
/var/www/virtual/nějakáDoména/htdocs/ ← tohle zprístupní apache přes HTTP /var/www/virtual/nějakáDoména/etc/ ← tady budou soubory s hesly /var/www/virtual/nějakáDoména/dalšíAdresář/ ← třeba zálohy nebo nějaké dočasné soubory
Každopádně bych dal soubor s hesly mimo adresář, který je zpřístupněný přes HTTP a nespolíhal bych se jen na ochranu pomocí .htaccess nebo dokonce ochranu pomocí aplikace.
Tak to asi mám... alebo som objavil ešte nejakú inú chybu. 
Ak $_GET['nazev_souboru'] obsahuje na konci znak \0 (nulový bajt), tak substr() vráti "php\0" a nie ".php", lebo dĺžku reťazca PHP nevedie podľa znaku \0. Naproti tomu fopen() predá parameter volaniu API OS, ktorý je v C-čku, znak \0 pre neho znamená koniec reťazca a všetko počnúc týmto znakom už neberie do úvahy.
fuj.php\0.txt neprojde? Nebo od kdy to php zahazuje?
Btw. afaik sa pomocou GET nedajú uploadovať súbory...
Ha, on je zásadní rozdíl mezi HTTP metodou GET a PHP proměnnou GET. Ta druhá „funguje“ i u ostatních metod, prostě jsou do ní zpracovány parametry z URL...
A není to vzhledem k problému úplně fuck?
POST i GET se dají míchat dohromady:
<?php echo ($_REQUEST["foo"] . "<br/>"); echo ($_REQUEST["bar"] . "<br/>"); ?> <form action="hack.php?foo=nazdar" method="post"> <input type="text" name="bar" value="bazar"/> <button>poslat</button> </form>
(neřešte validitu HTML, je to jen malý příklad)
Takže GETem můžeš poslat třeba název souboru a POSTem samotný soubor (ale je otázka, proč by to tak chtěl někdo dělat, když může POSTem poslat všechno).
Tohle funguje:
<?php $jmeno = "hack.php\0"; $fp = FOpen($jmeno, "rw"); $obsah = fread($fp, filesize($jmeno)); fclose($fp); echo(nl2br(htmlspecialchars($obsah))); ?>
Výpíše soubor „hack.php“. Ale ta \0 je přímo v PHP kódu, když se ji tam snažíš procpat přes GET, tak se asi někde ztratí.
?promenna=neco%00neco, tak tam ten nulový bajt opravdu je…
Tak proč to harovi nefunguje?
FOpen považuje a SubStr nepovažuje – taková blbost, ale kolik to dokáže nadělat škody, co?
IMHO je zásadní chyba, že se testují jen některé části jména. Správný přístup je pomocí regulárních výrazů přesně definovat, jak jméno souboru má vypadat...
Jiste, p*čoviny se dají dělat i s pomocí regexp... klidně se tam dá rovnou dát „^.*$“, že ano...
^[a-z0-9]+\.[a-z0-9]+$Ale test na příponu bych musel udělat stejně zvlášť.
Máte pravdu, to mě prvně nenapadlo. To je další vážná chyba. 
Neumim PHP ani programovat weby, ale neni to v tom, ze se testuji jen lowercase ".php"? Tzn. pokud nekdo vytvori soubor ".PHP", tak ten pak mozna pujde pustit, protoze z URL se bude brat case-insensitive?
Kua, chlape, ty nečteš zadání? Viz:
Neuvažujte jiné ošetřované přípony než „.php“ a jiný oddělovač adresářů než lomítko.
Možná bych si nejdřív ověřil, zda-li se opravdu jedná o uploadnutý soubor - viz is_uploaded_file() a pak ho pomocí move_uploaded_file() uložil na správné místo.
Ano, například z něj udělat xyz/adresar/zakerny_skript.php, že? Doporučoval bych přečíst a pochopit nejdříve zadání a pak blbě kecat 
$fp = FOpen('soubory/'.$_GET['nazev_souboru'], 'w');
jenom mne napadlo, jestli by se nedalo nahradit '.php' necim jako je '%20' u mezery ...
pokud bych to zkousel, asi tohle je nejjednodussi (a mozna i nejelegantnejsi) zpusob
:)
$_GET už je odescapovaný, takže odescapovat ho znovu by byla chyba (a dobrý způsob, jak do programu zavléct nějakou bezpečnostní díru).
POST /blog/EditDiscussion HTTP/1.1 Host: www.abclinuxu.cz User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.9.1.2) Gecko/20080528 Fedora/2.26.3-3.fc11 Epiphany/2.22 Firefox/3.5 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: cs Accept-Encoding: gzip,deflate Accept-Charset: UTF-8,* Keep-Alive: 300 Connection: keep-alive Referer: http://www.abclinuxu.cz/blog/EditDiscussion?action=add&threadId=0&dizId=142779&rid=276521 Cookie: __utma=184452854&ehllip; Content-Type: multipart/form-data; boundary=---------------------------4290172515652242791849073854 Content-Length: 26069 -----------------------------4290172515652242791849073854 Content-Disposition: form-data; name="title" Re: Kdy.. housing, tak NE v Casablance -----------------------------4290172515652242791849073854 Content-Disposition: form-data; name="text" vggdt -----------------------------4290172515652242791849073854 Content-Disposition: form-data; name="attachment"; filename="chata_cela_bok_small.png" Content-Type: image/png .PNG . ... IHDR...q...U.....~C......sRGB....... .IDATx.....k.}..y........}......E..(Q....&yS%.../2.T.f..]N.35.T<.=....b'.mI.,..(.....E.K.}.}o4.;...<...x......A. ...p.|....<..N[
Tiskni
Sdílej: