laravel - Laravel:防止 Sql 注入 Wild Card 或 Like 子句
问题描述
我想问,如何防止SQL注入通配符或Like Clause的脚本
这是我的脚本
$user_location = DB::table('store_locator')
->Where('city','like','%' . $inpaddress . '%')
->orWhere('store_address','like','%' . $inpaddress . '%')
->get();
像这样使用可以吗?
'%' 。$输入地址。'%'
谢谢。我希望你能提出更好的建议。谢谢..
解决方案
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
]
推荐阅读
- javascript - testcafe:更好的原生对话框错误消息
- javascript - 仅当数组中存在该元素时,如何使用 splice() 删除单个元素?
- c++ - 如何捕捉字符串输入`std::stof`中字符的存在?
- c# - 尝试获取一些用户输入并填充多维数组
- python - 时间数据与格式不匹配 - 迄今为止的字符串列表
- javascript - 将方法放在单独的文件中(ES6 模块)
- python - 在我的 Django 项目中找不到页面错误
- vb.net - 以编程方式创建一个简单的加法表单应用程序
- python - Python ValueError 中的隔离树算法:尝试获取空序列的 argmax
- excel - 基于条件的 Excel Len 函数