我想问 ,如何防止SQL注入通配符或Like子句
的脚本这是我的剧本
$user_location = DB::table('store_locator')
->Where('city','like','%' . $inpaddress . '%')
->orWhere('store_address','like','%' . $inpaddress . '%')
->get();
可以像这样使用吗?
'%'。 $ inpaddress。 '%'
谢谢。希望您能提出更好的建议。谢谢。
答案 0 :(得分:0)
Laravel默认情况下会很好地防止sql注入。如果您仍然有疑问,并且您的PDO配置有些混乱,您可以尝试。
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
'options' => [
\PDO::ATTR_EMULATE_PREPARES => false
]
],
将\PDO::ATTR_EMULATE_PREPARES => false
设置为
'options' => [
\PDO::ATTR_EMULATE_PREPARES => false
]