Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od
… více »Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.
Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.
Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.
foreach($_GET as $K=>$V) { $_GET[$K]=Safe($V); }
foreach($_POST as $K=>$V) { $_POST[$K]=Safe($V); }
foreach($_COOKIE as $K=>$V) { $_COOKIE[$K]=Safe($V); }
function Safe($Value) { return trim(str_replace(array("'",'"',"`"),'',$Value)); }
samotná premenná v SQL dotaze je samozrejme v úvodzovkách
select ID from pouzivatel where (meno="$_POST[meno]" and heslo="$_POST[heslo]")Pokiaľ ma moje slabé vedomosti neklamú, tak SQL injection sa robí práve cez "http vstupy" do aplikácie ($_REQUEST nepoužívam nikde) a týmto by to malo byť úplne ošetrené. Alebo sa kruto mýlim? Ak áno, na čo ešte treba myslieť? Ak by to niekoho zaujímalo, tak znaky " ' ` odstraňujem pomocou str_replace preto, lebo som si istý, že ich používateľ nebude nikdy potrebovať. Vopred vám veľmi pekne dakujem za odpovede a podnety.
Řešení dotazu:
<?php
$db = new PDO('...');
$select = $db->prepare("SELECT id FROM pouzivatel WHERE meno=? AND heslo=?");
$select->execute(array($_POST[meno], $_POST[heslo]));
Do superglobálních proměnných $_GET, $_POST a $_COOKIE nikdy nic nezapisuj. Jsou určeny pouze pro čtení.
Safe() alespoň použij funkci mysql_real_escape_string(), která to na rozdíl od té tvé udělá dobře.
Zapisování do těchto superglobálních proměnných je plýtváním pamětí a výkonem. Navíc tím modifikuješ vstupní data, což je nežádoucí. Takový program pak mlží. Jsou to vstupní proměnné.
Tvůj výmysl ti nepomůže.
mysql_real_escape_string(), která byla vyvinuta přesně pro tento účel a dělá to dobře. Nevynalézej kolo.
Místo funkceMožná. Pokud funguje úplně stejně jako parser SQL v MySQL a pokud je úplně stejně nakonfigurovaná. Stačí třeba jen se neshodnout ve vstupním kódování, a už to může být problém. Ano, je lepší použít tuhle funkci než nějakou svou samo-domo velmi přibližnou, ale já bych tu funkci rozhodně za 100% bezpečnou nepovažoval.Safe()alespoň použij funkcimysql_real_escape_string(), která to na rozdíl od té tvé udělá dobře.
Pomože mi ten môj výmysel, alebo nie?Nie, Tvoj výmysel prinesie viac problémov než úžitku. Prestaň špekulovať a urob to čo je správne - mysql_real_escape_string() alebo PDO.
Databáze "čistá" data neobsahuje a nikdy obsahovat nebude, neboť SQL injection tak nefunguje.A ako teda funguje?
Navíc se podívej ještě na cross site scripting a cross site request forgery. Jsem si celkem jist, že to tam budeš mít také.Áno, a ešte navyše k tomu som škaredý, koktavý a všeobecne nehodný používať počítač.
Přepis na PDO není nijak zcestný, tak jako tak musíš projít všechny dotazy do databáze a opravit je, zda tam budeš cpát mysql_real_escape_string nebo vyměníš volání funkce vyjde nastejno, pokud si přpravíš vhodný wrapper okolo PDO, aby odpovídal starému kódu, tak to bude i znatelně jednodušší.Od začiatku tvrdím, že si plne uvedomujem, že toto riešenie je jediné správne a čisté a zároveň tvrdím, že to aj plánujem urobiť. Ja sa vôbec nehádam o tom, že niečo iné by malo byť jednoduchšie, lepšie a čo ja viem aké ešte. Sám v iných - nových - projektoch používam PDO s prepared, ... takže je mi ohľadom toho všetko jasné.
Tvůj zvyk s úvozovkami SQL injection neřeší, ba naopak, takto zranitelnost na SQL injection vzniká.Ako?
A ten první odkaz si rač vetnout za klobouk, vše co v této diskuzi je, je k tématu. Prostě to jen děláš blbě a bylo ti to řečeno.Nie, ten odkaz sedí ako "riť na šerbeľ". Krútime sa tu dookola s niečim čo mi je plne jasné, čo akceptujem, nepopieram a sám využívam. Ale na pôvodnú otázku som odpoveď stále nedostal a toto je kameň úrazu. To je až také ťažké pochopiť? Ja som sa pýtal na jednu veľmi jednoduchú vec - ak zmažem v $_GET, $_POST, $_COOKIE úvodzovky (" ' `) aké má útočník ďalšie možnosti čo sa týka SQL injection??? Alebo jedina správna odpoveď je typu: "to ťa nemusí zaujímať, si hlupák, nemal by si používať pc, nieto ešte patlať nejake akožeprogramy"? To ste vy géniovia fakt tak nepoužitelný v reálnom živote, že máte problém chápať jednoduché otázky?
Jak ten odkaz souvisí s tématem?Tak, že ja sa pýtam na to ako čo najjednoduchšie, najrýchlejšie a najkrajšie zakryť zhrdzavené podbehy na aute a odpoveď je stále tá istá - kúp si nové auto.
Čistá data v databázi? Utopie.Prečo? Keď nedovolím zapísať nejakú háveď tak je jasné, že tu hávaď nemám ani ako prečítať. A ak má útočník iný prístup k db, tak mu asi bude jedno čo ja robím v programe.
Máš nastavený i jazyk? Asi ne, že?Teraz trošičku som mimo čo myslíš, ale ak "utf8_general_ci", tak áno
Místo týdne strávíš dva. To se vyplatí!??? Čo prosím? Ja teraz riešim nechutný hack aby som sa minútu hnusne/nechutne zaplátal dieru tak čo potom tie 2 týždne?
Ano, směřuje k PDO.Nie, smeruje to k urážke, lebo som si dovolil pýtať sa na otázku, na ktorú som stále nedostal odpoveď.
Technické řešení problému jsi dostal. Teď už se bavíme jen o tom, že nejsi ochoten ho přijmout a stále hledáš alternativy. Klidně hledej dál...Technické riešenie - to správne - som ani dostať nemusel, lebo som o ňom vedel už pred položením otázky - opakujem ešte raz - ohľadom PDO je mi všetko jasné. Odpoveď na moju otázku ale proste stále jednoznačne neprišla. Čo na to povedať.
Tiskni
Sdílej: