php - 如何在 Laravel 5.5 中保护 DB::statement() 免受 SQL 注入?
问题描述
我想让用户创建一个数据库。查询如下所示:
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 的情况下以受保护的 laravel 方式触发查询?
解决方案
推荐阅读
- xamarin - Xamarin Tap 模拟 (ADB)
- python - 使用键将行从 dataframeB 插入 DataframeA 且不合并
- matlab - 为什么我的代码无法与 Mex 一起使用但与 cl 一起使用?
- flutter - 无法添加或更新列表
- c# - 删除activemq消费消息/s
- python - 根据条件pyspark计算不同的列值
- kubernetes - Kubernetes 网络策略阻止 DNS
- python - 如何使用 MSSQL 和 Python 将元素与用户索引进行比较
- javascript - 如何在函数中查找属性
- webusb - WebUSB 是否支持超时?