Как защитить DB :: Statement () от внедрения SQL в Laravel 5.5? - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу позволить пользователям создавать базу данных. Запрос выглядит так:

DB::statement( 'CREATE DATABASE mydbname' )

Мне нужно использовать DB::statement вместо DB::select / DB::select / DB::update, так как последние команды не поддерживают оператор create.

Я хочу защитить себя от внедрения SQL, и, к сожалению, следующие два метода не работают с DB::statement:

DB::statement( 'CREATE DATABASE :DBNAME', [ 'DBNAME', 'mydbname' ] );
DB::statement( 'CREATE DATABASE ?', [ 'mydbname' ] );

Так как же я могу защитить метод DB::statement от внедрения SQL? Если это невозможно, как я могу запустить запрос create защищенным способом без использования необработанного PHP-PDO?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...