Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).
ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.
Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.
Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.
Na iVysílání lze zhlédnout všechny díly kultovního sci-fi seriálu Červený trpaslík.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl v březnu 5,33 % (Windows -4,28 %, OSX +1,19 %, Linux +3,10 %). Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 24,48 %. Procesor AMD používá 67,48 % hráčů na Linuxu.
Webové aplikace uživatelům zpravidla nabízejí nejrůznější služby dostupné přes přihlašovací jméno a heslo. Vzniká tak potřeba správy databáze uživatelů, která může být velmi často složitá (účty mohou být uloženy v různých databázových systémech, pravděpodobně budou různě privilegované, obsahují dodatečná data jako doba vypršení, poslední přihlášení apod.) a potřeba vytvořit autentizační systém. Stejně jako vývoj ostatních kritických komponent aplikace si systém ověřování a autorizace vyžádá spoustu času a testování (zvláště kvůli bezpečnosti) a nabízí se tak otázka, jestli by nebylo vhodné poohlédnout se po vyzkoušeném a fungujícím řešení. V PEARu naleznete několik balíčků, které autentizační systém implementují a umí toho možná více, než byste čekali. Tentokrát však buďte při používání cizího kódu ostražití více než obvykle - zabezpečení aplikace a procesům s ním spojeným byste měli dokonale rozumět a cizí kód bezhlavě nepřejímejte.
Auth je základní balíček tříd poskytující autorizační a ověřovací mechanismy pro vaše skripty. Přes svoji relativní jednoduchost vám dovolí následující:
Při práci s ním dost možná pocítíte např. absenci podpory pro různě privilegované účty, nicméně svojí jednoduchostí vám vše vynahradí tam, kde nejsou potřeba. Mohla by vám také vadit nemožnost využít HTTP autentizaci, ale tu umožní stejnojmenná třída z balíčku Auth_HTTP, která Auth používá jako svoji předlohu.
Příklad typického použití třídy Auth:
<?php
require_once('Auth.php');
require_once('PEAR.php');
/**
* Zobrazí přihlašovací formulář.
*/
function displayLoginForm() {
print("<form action=\"\" method=\"post\">\n");
print("<fieldset>\n");
print("<legend>Přihlašovací formulář</legend>\n");
print("<label>Jméno:</label><input type=\"text\" name=\"user\" />\n");
print("<label>Heslo:</label><input type=\"passwd\" name=\"passwd\" />\n");
print("<input type=\"submit\" name=\"submit\" value=\"Přihlásit\" />\n");
print("</fieldset>\n");
print("</form>\n");
}
$authOptions = array(
'sessionName' => 'testDomain',
'allowLogin' => true,
'postUsername' => 'user',
'postPassword' => 'passwd',
'advancedSecurity' => false,
'dsn' => 'pgsql://uzivatel:heslo@zoidberg/pear',
'table' => 'admin_users',
'usernamecol' => 'login',
'passwordcol' => 'pass');
$auth = new Auth('DB', $authOptions, 'displayLoginForm');
$auth->start();
if(!$auth->getAuth()) {
// nepřihlášen ...
}
?>
Tento jednoduchý příklad demonstruje obvyklou práci s třídou Auth.
Definujeme funkci, která se postará o zobrazení přihlašovacího formuláře,
následně nastavíme volby pro autentizaci a vytvoříme instanci třídy.
Autentizační proces spustíme funkcí start(), která v případě,
že uživatel není přihlášen a ze stránky je přihlášení povoleno, zobrazí
přihlašovací dialog. Následné volání getAuth() vrací logickou
hodnotu signalizující úspěšnost přihlášení. Všimněte si nastavení tabulky
($authOptions['table']), sloupce se jménem
uživatele (usernamecol) a heslem (passwordcol).
Díky této možnosti můžete svůj starý systém, který pravděpodobně funguje
podobně, nahradit třídami balíčku Auth.
Nezoufejte ani v případě, že používáte jiné metody šifrování hesla - třídu pro práci s úložištěm dat můžete vždy 'zdědit' a přizpůsobit vlastním potřebám. Než se pustíte do práce s balíčkem Auth, podívejte se do dokumentace pro uživatele, která vám umožní s třídou okamžitě začít pracovat. Vhod přijdou i znalosti balíčku DB, který je v PEARu hojně používán.
Jako doplněk k Auth byl vytvořen již zmíněný Auth_HTTP, který umožňuje poskytuje HTTP autentizaci dle RFC 2617.
LiveUser se na první pohled podobá balíčku Auth - umožňuje všechny akce s ním proveditelné. Proto mi původně nebylo zcela jasné, proč komunita kolem PEARu začlenění tohoto systému do frameworku povolila (přece jen existuje Auth), postupem času (a hlavně během odhalování jeho možností) se ukázalo, jak se věci mají. LiveUser totiž mj. obsahuje i rozšířené možnosti administrace uživatelů, o něž byl určitě zájem, a jelikož je najdete v balíčku LiveUser_Admin, který je určen k spolupráci s LiveUser...
Máte tedy v ruce nástroje, kterými uživatelům přidělujete privilegia, sdružujete je do skupin (hierarchická struktura), které můžete volitelně opatřit výchozími privilegií a co by to bylo za systém, který by neuměl z libovolného prává vyvodit jiné (např. WRITE může implikovat READ). Každé právo lze také opatřit atributem, kterému typu uživatele smí být přiřazeno, a tak vzniká rozlišení na uživatele admina a uživatele řadového. Možností administrace práv je ještě o něco více a najdete je v dokumentaci. LiveUser_Admin definuje základní rozhraní pro práci s právy, které rozšiřují tři kategorie tříd lišící se právě v nabízených možnostech. Jmenovitě se jedná o kategorie:
Autoři vyzdvihují jednoduchost migrace mezi těmito kategoriemi díky jednotnému veřejnému rozhraní. Je nutno podotknout, že plnou funkcionalitu nabízí LiveUser_Admin jen pro práva uložená v RDBMS přístupném prostřednictvím PEAR::DB nebo PEAR::MDB. Kategorie Simple je dostupná pro XML soubory.
LiveUser a LiveUser_Admin tvoří dvojici, která by měla stačit i pro náročnější systémy. V rámci dokumentace projektu je dostupný i užitečný tutoriál, který vám oproti čtení zdrojových kódů ušetří trochu času. Dokumentace na webu ovšem není zdaleka úplná a plné využití schopností balíčku vyžaduje náhled do zdrojových kódů.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
) - ověření, zda má uživatel příslušná práva přístupová práva
Viz základy 'autentizace', autorizace.
a nabízí se tak otázka jestli by nebylo vhodné poohlédnout senema bejt pred "jestli" carka?