V pátek 20. února 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 6. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a uživatelský prostor. Akce proběhne od 10:00 do večera. Hackday je určen všem, kteří si chtějí prakticky vyzkoušet práci s linuxovým jádrem i uživatelským prostorem, od posílání patchů například pomocí nástroje b4, přes balíčkování a Flatpak až po drobné úpravy
… více »Evropská rada vydavatelů (EPC) předložila Evropské komisi stížnost na americkou internetovou společnost Google kvůli její službě AI Overviews (AI souhrny), která při vyhledávání na internetu zobrazuje shrnutí informací ze zpravodajských serverů vytvořená pomocí umělé inteligence (AI). Evropská komise již v prosinci oznámila, že v souvislosti s touto službou začala firmu Google vyšetřovat. Google obvinění ze strany vydavatelů
… více »Ubuntu 26.04 (Resolute Raccoon) už nebude v desktopové instalaci obsahovat GUI nástroj 'Software & Updates'. Důvodem jsou obavy z jeho složitosti pro běžné uživatele a z toho plynoucích bezpečnostních rizik. Nástroj lze doinstalovat ručně (sudo apt install software-properties-gtk).
Thomas Dohmke, bývalý CEO GitHubu, představil startup Entire - platformu pro spolupráci vývojářů a agentů umělé inteligence. Entire získalo rekordních 60 milionů dolarů na vývoj databáze a nástrojů, které mají zefektivnit spolupráci mezi lidmi a agenty umělé inteligence. Dohmke zdůrazňuje potřebu přepracovat tradiční vývojové postupy tak, aby odpovídaly realitě, kdy většinu kódu produkuje umělá inteligence.
Toyota Connected North America oznámila vývoj open-source herního enginu Fluorite, postaveného na frameworku Flutter. Pro renderování grafiky využívá 3D engine Filament od společnosti Google a dle svého tvrzení cílí na konzolovou kvalitu her. Fluorite je zřejmě navržen tak, aby fungoval i na méně výkonném hardware, což naznačuje možnost použití přímo v ICE systémech vozidel. Zdrojový kód zatím zveřejněný není.
Byl vytvořen nástroj a postup pro překonání věkového ověření platforem Discord, Kick, Twitch, Snapchat (a možná dalších), kód je open-source a dostupný na GitHubu. Všechny tyto sítě používají stejnou službu k-ID, která určuje věk uživatele scanem obličeje a na původní server posílá pouze šifrovaná metadata, ty ale sociální síť už nedokáže sama nijak validovat, 'útok' spočívá ve vygenerování a podstrčení legitimně vypadajících ověřovacích metadat.
Jihokorejská kryptoměnová burza Bithumb přiznala vážné selhání interních systémů, které ji vystavilo riziku sabotáže a nezabránilo chybné transakci v hodnotě přes 40 miliard dolarů (814 miliard Kč). Druhá největší kryptoměnová burza v Koreji minulý týden při propagační akci omylem rozeslala zákazníkům zhruba 620 000 bitcoinů místo 620 000 wonů (8700 Kč). Incident vyvolal pokles ceny bitcoinu o 17 procent. Většinu
… více »Google Chrome 145 byl prohlášen za stabilní. Nejnovější stabilní verze 145.0.7632.45 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Zpátky je podpora grafického formátu JPEG XL, viz Platform Status. Odstraněna byla před třemi lety. Nový dekodér JPEG XL jxl-rs je napsán v Rustu. Zobrazování JPEG XL lze vyzkoušet na testovací stránce. Povolit lze v nastavení chrome://flags (Enable JXL image format).
Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.
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: