Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.
Byl vydán Mozilla Firefox 159.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 159 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.
Vedoucím brněnské pobočky Red Hatu se stal Radek Vokál [LinkedIn].
Open source download manager Fatrat povstal z popela. Autor k dvacetiletému výročí projektu přidal do vínku podporu nejnovější knihovny libtorrent, rozhraní portoval na QT6, došlo k nahrazení podpory java rozšíření pythonem. Webové rozhraní bylo přepsáno s podporou mobilních zařízení. Aplikaci je taktéž možno zkompilovat bez podpory GUI. Více informací v releases.
Zranitelnost Broccoli2Shell (CVE-2026-111497) v kompresní knihovně Brotli se netýká pouze Node.js. Ohroženy jsou také aplikace využívající HTTP. Knihovnu používají webové prohlížeče, servery i řada dalších aplikací a technologií, například také Python nebo Bun. Identifikace všech zranitelných komponent může být obtížná, protože knihovna bývá součástí dalších softwarových balíčků nebo je přímo začleněna do spustitelných souborů aplikací.
Quad9, švýcarský celosvětově působící neziskový poskytovatel DNS, od 24. listopadu 2026 ukončí své služby ve Francii kvůli soudnímu sporu s katarskou televizní stanicí beIN. Ta požadovala blokování domén, které podle ní nelegálně zpřístupňují sportovní přenosy. Francouzský soud Katarům vyhověl a nařídil (🇫🇷, PDF) Quad9 blokaci zavést, pod hrozbou pokuty 1000 eur denně. Provozovatel příkaz odmítá s tím, že blokace
… více »Článek na blogu APNIC vysvětluje, jak správně vytvářet a používat ASPA záznamy — podepsané objekty v RPKI, které uvádějí, kteří poskytovatelé směrování jsou pro dané autonomní číslo (ASN) oprávněni. Síťoví operátoři je mohou využít k ověřování tras BGP a k odhalování úniků tras či podvržených tras.
Byla vydána (𝕏) verze 8.0.0 open source programu pro prolamování hesel hashcat (GitHub, Wikipedie). Přehled novinek v příspěvku v diskusním fóru a pdf.
Byla vydána (𝕏, Bluesky) nová verze 2026.3 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 6 nových nástrojů v oficiálním oznámení na blogu.
throw new Exception('Chybové hlášení');
class Forms{
private $input = array();
private $textarea = array();
private $layout;
public function __construct(){
try{
$this->getInput();
$this->getTextarea();
$this->getButton();
$this->setLayout();
}catch (PDOException $e){
$this->setLayout();
}
}
private function getInput(){
if($a === true) //Vyvoláme chybu
throw new Exception('Chyba!');
}
private function getTextarea(){}
private function getButton(){}
private function setLayout(){
$this->layout = $input[0].
$input[1].
$input[2].
$textarea[0].
$textarea[1];
}
public function __toString(){
return $this->layout();
}
}
$forms = new Forms();
echo $forms;
$this->layout pokud nektera z metod vyhodi vyjimku..
private $input = array(); private $textarea = array(); // v konstruktoru $this->getInput();Zřejmě metodou
getInput() plníš pole $input. Jenže to tak být nemusí. Co třeba takto?
private $input; private $textarea; // v konstruktoru $input = new Input();a v metodě
__toString() ty dva objekty spojíš do jednoho stringu.
$this->layout vůbec neměla existovat. Přece se i v OOP dělá normalizace. Nebo snad ne?
1. ano, závorky tam nepatří, čili to má být takto $this->layout; 2. no to jsou pole, ne proměnné 3. ano, vypadl řádek $a = true;
class Forms {
private $input = array();
private $textarea = array();
public function __construct(){
try {
$this->getInput();
$this->getTextarea();
$this->getButton();
} catch (PDOException $e){
$input = array();
$textarea = array();
}
}
private function getInput() {
if($a === true) //Vyvoláme chybu
throw new Exception('Chyba!');
}
private function getTextarea() {}
private function getButton() {}
public function __toString(){
return implode('', $this->input) .
implode('', $this->textarea);
}
}
$forms = new Forms();
echo $forms;
//if($a === true) //Vyvoláme chybuabych vyvolal chybu kterou odchytím a pokračuji dál dle nastaveni, tak dostávam chybu:
Fatal error: Uncaught exception 'Exception' with message 'Chyba!'Proč? Díky
Exception, ale zachytáváš PDOException. Pokud tu předponu "PDO" vyhodíš, bude to fungovat.
hm, hm..
} catch (PDOException $e){
napiš jen
} catch (Exception $e){
Takovou kravinu sis mohl klidně opravit sám. Měl jsi to tak chybně v originále a pouze jsem to přehlédl.
public function __construct(){
try{
$this->getInput();
$this->getTextarea();
$this->getButton();
$this->setLayout();
}catch (PDOException $e){
$this->setLayout();
}
}
myslel tim, ze misto zachytavani PDOException tam mas mit obecnou Exception, takze tim zachytis jakoukoliv vyjimku, ne jen vyjimky ktere jsou instancemi PDOException
protože do atributů objektu se dávají jen atomické a strukturované údaje, nikoli agregáty.Můžeš mi prosím tohle objasnit?
try {
..
} catch (Exception $e){
..
}
a volání metod patří do __toString() ?
try {
echo $a; // tohle by mělo vyhodit chybu, že není inicializovaná prom. $a
} catch (Exception $e){
echo "$e"; // a zprávu o té chybě bych chtěl dostat sem
}
A pak už bych byl velký frajem a změnil bych si i NICK
isset($a).
Tiskni
Sdílej: