Diskuze: Nette SQL chyba
Tvůrce
Zobrazeno 12 zpráv z 12.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
Máš tam hlavně SQL injekce, jak je vidět, tak ani použití frameworku nezabrání základním bezpečnostním chybám. Když parametry vložíš do dotazu správně, tak to bude fungovat.
V Nette nedělám, ale typoval bych tohle:
$connection->query("INSERT INTO news (title, body) VALUES (?, ?)", $values->title, $values->body);
Jinak ti bude muset poradit někdo jiný.
EDIT: Jo, je to tak: http://doc.nette.org/en/2.1/database
Díky moc. V té jejich dokumentaci se moc nevyznám ... Mají to tam na 3
způsoby 
Tohle není úplně vlastnost Nette, patří to k základním znalostem PHP a také k základním znalostem práce s databázemi. Nikdy nesmíš vkládat proměnnou přímo do řetězce dotazu.
Právě že jsem to viděl v několika tutoriálech hlavně na YouTube... Tak jsem si myslel, že je to dobře.
Youtube je naprosto nejhorší místo, kde se něco učit. Jednou jsem málem dostal infarkt u videa, kde borec udělal během 5ti minut asi 10 vážných chyb, které se učí někde na první lekci programování a dostal stovky plných hodnocení a děkovných komentářů. Netroufám si představit, kolik lidí to asi použilo a na kolika webech ten kód jede.
Ještě takovej detail, pokud používáš celý framework Nette, tak
nevidím důvod to dělat takto.
Hlavně mi jde o ten přístup do databáze.
Proč vlastně používáš $connection->query() ?
Mnohem bezpečnější je to tahat přes DI a pak používat něco jako
$this->context->database->table('table')->insert($array)
Ale podle toho kodu nevypadá, že používáš celou MVC architekturu a jen využíváš něco z Nette
Použil jsem to, protože jsem debil a nevěděl jsem, že to, co jsem dělal
není Nette 
To zase neni pravda. Na nette je krasny ze ho nemusis pouzivat cely. Takze
bych te nenazval debilem. Je spousta pripad, kdyz programatori vyuzivaji
formulare z nette a nic jinyho. Ale jelikoz si dal titulek Nette chyba, tak mi
to bylo prave divny. Takze pokud chces zacit s nette tak poradne.
Treba mi schvali clanek co sem napsal a rozjedu tu tutorial na Nette
To by bylo fakt super (y) Na Nette.org je to napsané ... Nechci být
sprostý 
Zobrazeno 12 zpráv z 12.