如何在Laravel 5.5中保护DB :: statement()不受SQL注入的影响?

时间:2018-04-26 18:42:08

标签: php sql-injection laravel-5.5

我想让用户创建一个数据库。查询如下所示:

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注入?如果不可能,如何在不使用原始PHP-PDO的情况下以受保护的laravel方式触发create查询?

0 个答案:

没有答案