雅安论坛

标题: laravel防止sql注入验证方法 [打印本页]

作者: 匿名    时间: 2022-12-21 10:36
标题: laravel防止sql注入验证方法
1、2种方法,使用验证类 ,引入 use Validator;
  1. $validator = Validator::make(['id' => $id], [
  2.     'id' => 'required|numeric'
  3. ]);

  4. if ($validator->fails()) {
  5.     abort(404);
  6. }else {
  7.     //Run query
  8. }
复制代码



2.绑定参数

  1. DB::statement("UPDATE users SET password=?  WHERE username =?", [$password, $username]);
复制代码
(, 下载次数: 35)

验证规则:

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 (, 下载次数: 40)
当需要验证多个字段的时候:
  1. $validator = Validator::make($request->all(), [
  2.     'code' => 'required|alpha_dash|min: 2|max:20'
  3.     // 'code' => 'required'

  4. ]);

  5. if ($validator->fails()) {
  6.     abort(404);
  7. }
复制代码








欢迎光临 雅安论坛 (http://www.yaanbbs.net/) Powered by Discuz! X3.4