Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.
Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.
Agent umělé inteligence Claude Opus ignoroval uživatelovu odpověď 'ne' na dotaz, zda má implementovat změny kódu, a přesto se pokusil změny provést. Agent si odpověď 'ne' vysvětlil následovně: Uživatel na mou otázku 'Mám to implementovat?' odpověděl 'ne' - ale když se podívám na kontext, myslím, že tím 'ne' odpovídá na to, abych žádal o svolení, tedy myslí 'prostě to udělej, přestaň se ptát'.
Po 8. květnu 2026 už na Instagramu nebudou podporované zprávy opatřené koncovým šifrováním. V chatech, kterých se bude změna týkat, se objeví pokyny o tom, jak si média nebo zprávy z nich stáhnout, pokud si je chcete ponechat.
V lednu byla ve veřejné betě obnovena sociální síť Digg (Wikipedie). Dnes bylo oznámeno její ukončení (Hard Reset). Společnost Digg propouští velkou část týmu a přiznává, že se nepodařilo najít správné místo na trhu. Důvody jsou masivní problém s boty a silná konkurence. Společnost Digg nekončí, malý tým pokračuje v práci na zcela novém přístupu. Cílem je vybudovat platformu, kde lze důvěřovat obsahu i lidem za ním. Od dubna se do Diggu na plný úvazek vrací Kevin Rose, zakladatel Diggu z roku 2004.
MALUS je kontroverzní proprietarní nástroj, který svým zákazníkům umožňuje nechat AI, která dle tvrzení provozovatelů nikdy neviděla původní zdrojový kód, analyzovat dokumentaci, API a veřejná rozhraní jakéhokoliv open-source projektu a následně úplně od píky vygenerovat funkčně ekvivalentní software, ovšem pod libovolnou licencí.
Příspěvek na blogu Ubuntu upozorňuje na několik zranitelností v rozšíření Linuxu o mandatorní řízení přístupu AppArmor. Společně jsou označovány jako CrackArmor. Objevila je společnost Qualys (technické detaily). Neprivilegovaný lokální uživatel se může stát rootem. Chyba existuje od roku 2017. Doporučuje se okamžitá aktualizace. Problém se týká Ubuntu, Debianu nebo SUSE. Red Hat nebo Fedora pro mandatorní řízení přístupu používají SELinux.
Byla vydána nová verze 19 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.
Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).
Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.
$set["nazev"] = "aaa";
$set["url"] = "bbb";
$set["cat"] = "ccc";
$set["stat"] = "ddd";
mysql_query("UPDATE cat SET ".implode("=".implode($set).", ", array_keys($set))." WHERE id = '".$_POST['id']."'");
tohle potřebuji vyplodit :(
mysql_query("UPDATE cat SET nazev="aaa", url="bbb", cat="ccc", stat="ddd" WHERE id = '".$_POST['id']."'");
ale už vážně nevím jak dál :( Děkuji předem za ochotu a pomoc
Řešení dotazu:
... WHERE id = '".$_POST['id']."' ...Takhle ošetření vstupu rozhodně nevypadá.
id jenom číslo, a když ne, tak skončí :).</troll>
if($_POST['id'] == 12) {
... WHERE id = '".$_POST['id']."' ...
}
else {
die("franto mas to blbe");
}
btw: nerikam, ze je to stastne reseni a videl jsem i horsi reseni, ale jde to
Jen rikam ze nez se zacne odsuzovat nekdo za neco tak treba by to chtelo odpoved:
hele mas chybu v tom a tom tak ti to nejede a chtelo by to resit radeji tak nebo onak
A ne mu nadavat do volu a sql inj a ja nevim ceho jeste.
Odpovidat na konkretni dotaz nebudu protoze uz tu na to nekdo odpovedel s tema apostrofama.
$set["nazev"] = "'aaa'"; $set["url"] = "'bbb'"; ...Ale to by se Orlando nedozvěděl, jaké že tam má chyby a následně by je ještě dlouho opakoval. Navíc je tam ještě pár dalších chyb, které jsou hezky vidět, když se místo funkce mysql_query() použije obyčejné echo.
Tady ti stejně každej bude jen naznačovat že jsi nula a až si to vyřešíš sám tak každej řekne že stejně máš špatnou koncepci. Nečekej že by ti zde někdo řekl "má se to dělat tak a tak a tady je ukázka". Poradna zde klesla na "bouchněte si..." .
V produkční praxi nikdo po nikom "hello world" nechce. A u každého projektu, který začíná jako "hello world" s apostrofy hrozí, že se potom začne používat a růst a potom tam ten bezpečnostní průser zůstane. Proto si myslím, že je nutné, dělat věci správně již od začátku.
Odpověď, kterou bys tady rád viděl, je hned úplně první. Tazatel odpoveď dostal a mohl se zeptat, co to je PDO a Prepared statement. Celá diskuse vnikla na základně jeho odmítavé reakce a já sám reaguji nikoliv na původní dotaz (ten už tu byl několikrát odpovězen), ale na reakci ohledně smyslu poradny. A trván na tom, poradna má sloužit k tomu, aby se věci dělali správně. Ne jen poradit, jak rozchodit nějaký bastl.
Miluju lidi co napisou "hello word" za pouziti 30 objektu, protoze je to "spravne" misto aby napsali echo("hello word"); protoze to je prece spatne (ikdyz se po nich nic vic nechce).Miluju lidi, kteří přijdou do diskuze psát totální sračky a cítí se při tom strašně inteligentně.
Chci tim rict ze odpoved by mela byt: Nemas tam apostrofy a imho lepsi reseni by bylo pouzit napr. PDO protoze ti osetri sql inj. ktery ti zde hrozi jestli nemas poradne osetrene vstupy.Takové odpovědi jsem tu viděl a dotyčný nad nimi ohrnuje nos.
A aby nekdo nenapadal moji anonymitu: http://www.basak.cz, o PHP neco vim a jak rikam, neobhajuju jeho reseni, ja bych to resil jinak, ale reaguji na to jak je zde napadan.Přijde mi, že si pleteš napadeného s člověkem, který kouše do podané ruky. To se lidem stává a nevyčítám ti to, jen tě na to upozorňuju.
Nečekej že by ti zde někdo řekl "má se to dělat tak a tak a tady je ukázka".Jestli sis nevšiml, an on nechce poradit, jak se to dělat má. Ale chce poradit, jak se to dělat nemá. Nad tím tady dost možná nikdo nebude chtít ztrácet čas, ať si zaplatí doučko, jestli chce někoho, kdo bude pracovat podle jeho představ.
Poradna zde klesla na "bouchněte si..." .Tak sis bouchnul do poradny, a co dál?
implode, nechápu, na co se ptáte. Několik lidí tady si myslí, že je to potřeba opravit jinak, a napsali vám jak.
Když se v poradně zeptáte, jak zatlouct hřebík, že to určitě nějak půjde šroubovákem, buďte rád, že jste se dozvěděl, že na zatloukání hřebíků se používá kladivo a šroubovákem vám to moc dobře nepůjde. Pokud na použití šroubováku k zatloukání trváte, je to váš problém, ale nedivte se, že nikdo nechce trávit čas vymýšlením toho, jak by takovou hloupost šlo udělat.
To jste mi poradili, všichni plnou hubu SQL injection ale, že by někdo poradil to ne, jediné co tady tazatel poslední dobou dostane je vysmech!!!Trhni si nohou a jdi se zeptat maminky. Co jiného ti na to mám říct, aby to bylo ještě slušné?
$id=intval($_POST['id']);
$set[]=sprintf("%s='%s'","nazev",mysql_real_escape_string($nazev);
$set[]=sprintf("%s='%s'","url",mysql_real_escape_string($url);
$query="UPDATE cat SET ".implode(", ",$set)." WHERE id=$id;";
Dá se to zjednodušit pomocí funkce array_map(), ale to by na tebe bylo asi moc náročné. Ale jak už jsem psal (nejen já), použití parametrizovaného dotazu je mnohem jednodušší.
A ještě něco: Připadá mi velmi podivné, když někdo stringy nedává do apostrofů a čísla jimi obaluje. Má to být přesně naopak.
mysql_query("UPDATE `cat` SET
`nazev` = '".mysql_real_escape_string($_POST["nazev"])."',
`url` = '".mysql_real_escape_string($_POST["url"])."'
WHERE `id` = ".intval($_POST["id"])."");
je k ničemu a nejde bezpečně použít. Fakt to nechápu
$update=$db->prepare("UPDATE cat SET nazev=:nazev, url=:url WHERE id=:id;");
$update->execute(array(':nazev'=>$_POST['nazev'],':url'=>$_POST['url'],':id'=>$_POST['id']));
Řekl bych, že tohle je velmi blízko tvému původnímu požadavku. Jen je potřeba opustit zastaralý ovladač mysql a naučit se PDO. Existuje i kratší zápis, ale ten v manuálu snadno najdeš. Místo názvů parametrů jsou pak jen otazníky a parametry jsou poziční.
mysql_real_escape(), který – pokud použijete správnou verzi PHP se správnou verzí MySQL – pravděpodobně bude fungovat. Lepší je ale dělat to rovnou správně a použít parametrické dotazy.
"WHERE id = '".$_POST['id']."'"zatímco v citovaném
"WHERE `id` = ".intval($_POST["id"]).""
function dvojice($key,$val) {
$value=mysql_real_escape_string($val);
return "$key='$value'";
}
$id=intval($_POST['id']);
$query="UPDATE cat SET ".implode(", ",array_map('dvojice',array_keys($set),$set))." WHERE id=$id;";
Je to jen momentální nápad, jak by se to také dalo udělat. Dalo by se to upravit i do podoby vhodné pro parametrizované dotazy.
Tiskni
Sdílej: