Na YouTube lze zhlédnout Godot Engine – 2025 Showreel s ukázkami toho nejlepšího letos vytvořeného v multiplatformním open source herním enginu Godot.
Blíží se konec roku a tím i všemožná vyhlášení slov roku 2025. Dle Collins English Dictionary je slovem roku vibe coding, dle Dictionary.com je to 6-7, …
Cloudflare Radar: podíl Linuxu na desktopu dosáhl v listopadu 6,2 %.
Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak doražte na listopadovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. Mezi nejvýznamnější novinky patří Průšovo oznámení Core One L, zavedení RFID na filamentech, tisk silikonu nebo nový slicer. Dozvíte se ale i
… více »Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.50.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.
Komunita kolem Linux Containers po roce vývoje představila (YouTube) neměnný operační systém IncusOS speciálně navržený pro běh Incusu, tj. komunitního forku nástroje pro správu kontejnerů LXD. IncusOS poskytuje atomické aktualizace prostřednictvím mechanismu A/B aktualizací s využitím samostatných oddílů a vynucuje zabezpečení bootování pomocí UEFI Secure Bootu a modulu TPM 2.0. Postaven je na Debianu 13.
Mozilla začne od ledna poskytovat komerční podporu Firefoxu pro firmy. Jedná se o podporu nad rámec stávající podpory, která je k dispozici pro všechny zdarma.
V Bolzanu probíhá konference SFSCON (South Tyrol Free Software Conference). Jean-Baptiste Kempf, zakladatel a prezident VideoLAN a klíčový vývojář VLC media playeru, byl na ní oceněn cenou European SFS Award 2025 udělovanou Free Software Foundation Europe (FSFE) a Linux User Group Bolzano‑Bozen (LUGBZ).
Open-source minimalistický trackball Ploopy Nano byl po modelech modelech Classic a Thumb Trackball také aktualizován. Nová verze Nano 2 používá optický senzor PAW3222 a k původně beztlačítkovému designu přidává jedno tlačítko, které ve výchozí konfiguraci firmwaru QMK přepíná režim posouvání koulí. Sestavený trackball nyní vyjde na 60 kanadských dolarů (bez dopravy a DPH).
Github publikoval Octoverse 2025 (YouTube), tj. každoroční přehled o stavu open source a veřejných softwarových projektů na GitHubu. Každou sekundu se připojil více než jeden nový vývojář. Nejpoužívanějším programovacím jazykem se stal TypeScript.
Řešení dotazu:
$sql = mysql_query("SELECT * FROM category WHERE parent = " . $_GET['parent_id']);
Potom by bolo treba ošetriť vstup takto:
$sql = mysql_query("SELECT * FROM category WHERE parent = " . mysql_real_escape_string($_GET['parent_id']));
$sql = mysql_query("SELECT * FROM category WHERE parent = '" . mysql_real_escape_string($_GET['parent_id']) . "'");
Viz např. Prepared Statements in PHP and MySQL
neco a action tohoto formuláře namíříte na váš web. Drsňáci ani nepotřebují ten formulář a rovnou to vyťukají přes telnet. Předpokládám tedy, že se bavíme o webové aplikaci – to jste asi zapomněl napsat.
$sql = mysql_query("SELECT * FROM category WHERE parent = " . intval($_POST['parent_id']));
Nicméně, každý vstup od uživatele je třeba ošetřit (včetně hidden input-ů atd., prostě cokoliv co posílá klient-prohlížeč), to co si definujete sám, musíte vědět sám co je třeba a kde ošetřovat (velká spousta chyb software je zapříčiněna neošetřenými vstupy).SELECT * FROM category WHERE parent=$parent (kde $parent by byl vstup od uživatele), mohl by vám uživatel do parent vložit „hodnotu“ 0; DELETE FROM category, takže ve výsledku by se provedly dva příkazy SELECT * FROM category WHERE parent=0; DELETE FROM category. ve vašem kódu žádný vstup od uživatele nemáte, takže SQL injection nehrozí.
http://www.example.com/view.php?parent_id=0pošle (s příslušným escapováním)
http://www.example.com/view.php?parent_id=0;DELETE FROM catalogMísto
<form> <input name="parent_id" value="0"> </form>pošle
<form> <input name="parent_id" value="0; DELETE FROM catalog"> </form>Místo
http://www.example.com/view/0pošle (s příslušným escapováním
http://www.example.com/view/0; DELETE FROM catalogJak psal nahoře Heron, nejlepší je použít prepared statements.
SHOW TABLES a přečte si jej ve vrácené stránce… Nejde vůbec o to, co konkrétně v té databázi spustí za příkaz a co k němu potřebuje znát (třeba volání DROP DATABASE teoreticky parametr nepotřebuje a může smazat aktuální databázi). Jde o to, že tímhle způsobem umožníte útočníkovi spustit libovolný SQL příkaz, na který má práva uživatel, pod kterým k databázi přistupujete. Máte databázi zabezpečenou tak, že to ničemu nevadí? Zveřejníte klidně přístupové údaje k té databázi včetně její adresy? Pokud ano, pak se SQL injection nemusíte bát. Webové aplikace jsou ale zpravidla dělané tak, že databáze není moc zabezpečená a nepředpokládá se, že do ní bude mít přímý přístup někdo jiný, než správce. O zabezpečení se pak stará webová aplikace, která je mezi databází a útočníkem.
' OR 1=1 --což by váš skript mohl snadno vložit do dotazu jako:
SELECT 1 FROM `users` WHERE `user` = '${_POST["user"]}' AND `password` = crypt('${_POST["password"]}')
A útočník se hned může přihlásit jako libovolný uživatel
$parent třeba $_POST['parentid'] nebo $_GET['parentid'] a je to váš <select> a v <option> jste si zvolil jen čísla, ještě neznamená, že vám dojde vybrané číslo. Klidně Vám tam může dojít místo '3' zmiňované '3; DELETE FROM table'.
Tiskni
Sdílej: