laravel防止sql注入验证方法
1、2种方法,使用验证类 ,引入 use Validator;
$validator = Validator::make(['id' => $id], [
'id' => 'required|numeric'
]);
if ($validator->fails()) {
abort(404);
}else {
//Run query
}
- 绑定参数
DB::statement("UPDATE users SET password=? WHERE username =?", [$password, $username]);
验证规则: regex:pattern(正则):验证此规则的值必须符合给定的正则表达式。 accepted(yes|no|1:验证此规则的值必须是 yes、 on 或者是 1。这在验证是否同意的时候非常有用。 alpha(全部字母):验证此规则的值必须全部由字母字符构成。 active_url:字段值通过 PHP 函数 checkdnsrr 来验证是否为一个有效的网址。 after: date:验证字段是否是在指定日期之后。这个日期将会使用 PHP strtotime 函数验证。 before: date:验证字段是否是在指定日期之前。这个日期将会使用 PHP strtotime 函数验证。 alpha:字段仅全数为字母字串时通过验证 alpha_dash:字段值仅允许字母、数字、破折号(-)以及底线(_) alpha_num:字段值仅允许字母、数字 array:字段值仅允许为数组 between:min,max:字段值需介于指定的 min 和 max 值之间。字串、数值或是文件都是用同样的方式来进行验证。 digits:value:字段值需为数字且长度需为 value。 digits_between:min,max:字段值需为数字,且长度需介于 min 与 max 之间。 boolean:字段必须可以转换成布尔值,可接受的值为 true, false, 1, 0。 email:字段值需符合 email 格式。 image:文件必需为图片(jpeg, png, bmp, gif 或 svg) ip:字段值需符合 IP 位址格式 max:value:字段值需小于等于 value。 min:value:字段值需大于等于 value。 required:字段值为必填 integer:必须是数字 string:必须是字符串
$validator = Validator::make($request->all(), [ 'code' => 'required|alpha_dash|min: 2|max:20' // 'code' => 'required'
]);
if ($validator->fails()) { abort(404); }
最近访问时间:2025-04-30 16:46:47