Diskuze: Nette SQL chyba

Tvůrce

Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
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.