NotORM vytváření databáze
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Lukas1212
- Člen | 4
Ahoj všichni, potřeboval bych poradit ohledně vytváření query v NotORM. Ve své aplikaci potřebuji vytvářet další databáze. Momentálně používám tohle:
<?php
$this->database->query('CREATE DATABASE IF NOT EXISTS ?', new Nette\Database\SqlLiteral($databaseName));
?>
Jenže je zde problém, že použitím tohohle právě zde vzniká nebezpečí SQL injection. Ve své aplikaci ještě před tímto omezuji vstupní znaky, co jdou do $databaseName. Ale chtěl bych se zeptat, jestli neexistuje nějaké lepší řešení?
SQL dotaz musí vypadat takto
CREATE DATABASE IF NOT EXISTS databaze
nebo
CREATE DATABASE IF NOT EXISTS `databaze`
Bez použití SqlLiteral, ale dotaz vypadá takto
CREATE DATABASE IF NOT EXISTS 'databaze'
a ten je nefunkční.
- David Matějka
- Moderator | 6445
zatim to musis osetrit pomoci driveru, viz https://github.com/…te/pull/1325 a https://github.com/…/issues/1324