Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.
O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).
Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.
Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.
Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.
Byl vydán Mozilla Firefox 151.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 151 bude brzy k dispozici také na Flathubu a Snapcraftu.
Elon Musk prohrál soudní spor se společností OpenAI, která se podle jeho žaloby odchýlila od původně uváděného cíle vyvíjet umělou inteligenci (AI) ku prospěchu lidstva. Porota včera po necelých dvou hodinách dospěla k jednomyslnému závěru, že Musk žalobu podal příliš pozdě. Musk byl jedním ze spoluzakladatelů společnosti OpenAI, která vznikla v roce 2015 a vyvinula populární chatovací systém ChatGPT. V roce 2018 na svůj post ve vedení
… více »Byla vydána nová verze 10.4 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Opraveny jsou zranitelnosti Copy Fail a Dirty Frag. Přibyl nový obraz pro Orange Pi 5B.
Pokud je zranitelnost Linuxu v nepoužívaném jaderném modulu, lze ji jednoduše vyřešit zakázáním automatického načítání tohoto konkrétního zranitelného modulu. Projekt ModuleJail si klade za cíl zvýšit bezpečnost Linuxu zakázáním automatického načítání všech nepoužívaných jaderných modulů. Jedná se o skript, který dá všechny nepoužívané jaderné moduly na blacklist (/etc/modprobe.d/modulejail-blacklist.conf).
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?