laravel防止sql注入验证方法
1、2种方法,使用验证类 ,引入 use Validator;$validator = Validator::make(['id' => $id], [
'id' => 'required|numeric'
]);
if ($validator->fails()) {
abort(404);
}else {
//Run query
}
2.绑定参数
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:必须是字符串
截图1
当需要验证多个字段的时候:
$validator = Validator::make($request->all(), [
'code' => 'required|alpha_dash|min: 2|max:20'
// 'code' => 'required'
]);
if ($validator->fails()) {
abort(404);
}
页:
[1]