Laravel Eloquent:SQL 注入预防是自动完成的吗?

2024-02-09

给出示例代码(Message是一个雄辩的模型。):

public function submit(Request $request){
    $this->validate($request, [
        'name' => "required",
        "email" => "required"
    ]);

    //database connection
    $message = new Message;
    $message->name = $request->input("name");
    $message->email = $request->input("email");

    $message->save();
}

Eloquent 是否使用参数化查询(如 PDO)或任何其他机制来防止 SQL 注入?


对,但是...

是的,它确实SQL注入 https://www.owasp.org/index.php/SQL_Injection当您依赖内置 ORM 功能时进行预防,例如$someModelInstance->save(). From the docs https://laravel.com/docs/5.6/queries#introduction:

Laravel 的数据库查询构建器提供了一个方便、流畅的界面来创建和运行数据库查询。它可用于执行应用程序中的大多数数据库操作,并且适用于所有支持的数据库系统。

Laravel 查询生成器使用 PDO 参数绑定来保护您的应用程序免受 SQL 注入攻击。无需清理作为绑定传递的字符串。

请注意,您是not如果您构建原始 SQL 语句并执行这些语句或使用原始表达式,则会自动受到保护。更多来自文档 https://laravel.com/docs/5.6/queries:

原始语句将作为字符串注入到查询中,因此您应该非常小心,不要创建 SQL 注入漏洞。

在构建原始 SQL 语句或表达式时,应始终使用参数化查询。有关如何在 Laravel/Eloquent 中执行此操作的信息,请参阅上面的最后一个链接(以及文档的其他部分)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel Eloquent:SQL 注入预防是自动完成的吗? 的相关文章

  • 联系表 7 根据用户选择立即发送给多个联系人

    您好 我正在 WordPress 联系表单 7 中创建联系表单 如果用户选择 全部 我想立即向多个收件人发送电子邮件 我看过这个 但似乎没有记录您是否可以一次发送给多个收件人http contactform7 com selectable
  • 访问自定义规则类中的另一个请求的输入 - Laravel

    我需要访问 request gt important在传递方法中 我需要它根据这个值验证名称 class TestCustom implements Rule public function passes attribute value p
  • 正则表达式匹配带或不带特殊/重音字符的字符串?

    是否有正则表达式可以匹配包含或不包含特殊字符的特定字符串 可以这么说 特殊字符不敏感 Like c ra将匹配cera 反之亦然 有任何想法吗 编辑 我想匹配带有或不带有特殊 重音字符的特定字符串 不仅仅是任何字符串 字符 测试示例 cli
  • XAMPP 中的根路径

    我遇到这个问题已经有一段时间了 并且广泛寻找答案但没有成功 img src images test jpg 从 根路径 在我的例子中是在 LAMP 中的生产中 获取图像 htdocs images test jpg 无论是从 htdocs
  • 如何使用 php 命令使注册表单高度安全?

    我想让代码对用户来说真正安全 下面的代码显示了 php 代码 我已将其用于我的网站 现在我已经使用了一些验证 例如密码和重复密码必须匹配 并且用户必须输入所有字段 为了使其更安全 我想插入安全命令 例如 PDO mysqli crypto
  • 将 PHP 错误存储在日志文件中

    我想将 php 生成的任何错误和警告存储在日志文件中 但是still也以正常方式显示它们 回显 Thanks 您可以定义自己的函数并描述如何处理错误 http www php net manual en function set error
  • PHP:数据库连接类构造方法

    我是面向对象编程的新手 最初 我是在类内部和构造函数外部定义变量并为其赋值 但是在今天的 Java OOP 课程之后 我被告知这是不好的风格 应该避免 这是我模拟的原始 PHP 数据库连接类 class DatabaseConnection
  • 通过 wp_handle_upload 删除未放入上传文件夹中的图像

    我正在将图像保存到上传文件夹 但我正在使用文件放置内容 http php net manual en function file put contents php代替wp 句柄 上传 https codex wordpress org Fu
  • 通过 Composer 安装 Codeception 到 Yii2

    我在将 Codeception 安装到 Yii2 项目时遇到问题 1 下载composer到Yii2项目中 curl sS https getcomposer org installer php 2 尝试安装Codeception php
  • Laravel - JWT Auth 无法从请求中解析令牌

    我在中间件中添加了以下代码以进行用户身份验证JWT Auth https github com tymondesigns jwt auth 它适用于中间件处理的所有路由 public function handle request Clos
  • 两个 mysql_fetch_array 语句

    是否有任何原因导致我无法在一个 while 循环中包含两个处理两个不同 mysql 查询结果的 mysql fetch array 语句 原因是我有两个来自 mysql 数据库的查询结果 每个结果包含两列 如下所示 Query 1 Date
  • Drupal:*.api.php 中的 hook_ 函数是否被调用过?

    在 Drupal 7 中 每个核心模块都有一个 api php文件 其中 是模块的名称 例如 modules node node api php modules path path api php 这些文件有什么用 它们包含以以下开头的函数
  • 如何在服务器(无 GUI)上呈现网页以进行打印?

    我正在尝试使用 PHP 脚本将页面实用地打印到办公室打印机 这是我到目前为止所得到的 我在服务器上安装了一台打印机 我可以通过命令行的打印命令使用 PHP 向其发送作业 我还可以使用 PHP 脚本编写纯文本文件 然后将它们添加到打印提示中
  • 为什么我要费心使用全文搜索?

    我是全文搜索新手 我使用了以下查询 Select From Students Where FullName LIKE abc 学生表包含数百万条记录 所有记录都是随机的 如下所示 QZAQHIEK VABCNLRM KFFZJYUU 仅用了
  • Laravel 分页链接不包含其他 GET 参数

    我将 Eloquent 与 Laravel 4 的 Pagination 类一起使用 Problem 当URL中有一些GET参数时 例如 http site example users gender female body hot 生成的分
  • (mysql, php) 如何在插入数据之前获取auto_increment字段值?

    我正在将图像文件上传到存储服务器 在上传之前 我应该编写文件名 其中包含自动增量值 例如 12345 filename jpg 在插入数据库之前如何获取自动增量值 我只看到一种解决方案 插入空行 获取其自增值 删除这一行 使用 p 1 中的
  • 用 PDO 和准备好的语句替换 mysql_* 函数

    我总是做简单的连接mysql connect mysql pconnect db mysql pconnect host user pass if db echo strong Error strong Could not connect
  • 使用 jQuery 将值发送到 $_GET

    我正在使用一个 PHP 脚本 该脚本正在通过 GET 等待两个值 我正在尝试使用 jQuery 传递这两个值 而这正是我不太擅长的地方 这是我得到的代码 有人能指出我正确的方向吗 谢谢 function xrate id rating aj
  • 带触发器的物化视图?

    我可以在物化视图上创建触发器吗 我用的是甲骨文10g 是的你可以 请小心 这是什么Oracle 文档 http download oracle com docs cd B19306 01 server 102 b14200 statemen
  • password_verify 哈希值与密码不匹配

    我使用下面的代码生成了密码哈希 hash password hash test PASSWORD BCRYPT 然后我使用 255 个字符将其存储在数据库中 然后我尝试使用比较器来测试登录 但失败了 它只允许我使用我之前刚刚生成的几行哈希登

随机推荐

  • node.js:如何锁定/同步代码块?

    让我们看一下简单的代码片段 var express require express var app express var counter 0 app get function req res LOCK counter UNLOCK res
  • “as”运算符的意外行为,它与普通强制转换不同

    I asked 这个问题 https stackoverflow com questions 21432141 why i cannot cast derived generic type to base non generic type
  • 二元运算符“&&”不能应用于两个布尔操作数[重复]

    这个问题在这里已经有答案了 我最近将 Xcode 更新到了新的 7 0 beta 我和助手一起完成了迁移 但还有一些问题 func saveContext if let moc self managedObjectContext var e
  • Maven/Jenkins java.lang.UnsupportedClassVersionError:不支持的major.minor版本51.0

    我有一个 Jenkins 服务器 同时安装了 JDK 和 JRE 6 和 7 除了一个依赖于 1 7 的项目外 所有项目都构建在 1 6 之上 我已将 maven pom 文件配置为使用 JAVA HOME 7 环境 PATH 中的 Jav
  • 如何在 WordPress 中运行 mysql 查询?

    这个查询可以工作并返回我想要在 MySQL 中的结果 但是如何让它在 WordPress 中工作 SELECT FROM wp usermeta WHERE meta key points AND user id 1 我希望能够看到用户 1
  • terraform 文件中的展开运算符

    我想简化这样的构造 variable google type object project string region string zone string provider google project var google projec
  • JSF 中的应用程序作用域和 Spring 中的单例作用域之间的区别

    谁能解释一下 ApplicationScope JSF 和 Singleton Spring MVC 之间的区别 我有一个用 jsf 编写的应用程序 其中一个类使用应用程序范围 在转换为 spring 时 我使用了 Singleton 范围
  • 简单的任务:连接到数据库,执行存储过程,断开连接

    我不一定需要从 VBScript 向存储过程传递任何变量 我只需要在服务器上运行存储过程 我还没有找到任何明确的示例来说明如何执行此操作 只有很多人解释如何将变量从 SP 传递回 VBScript 任何帮助将不胜感激 看起来我必须打开一个连
  • Google Colab 消耗过多互联网数据

    最近 google colab 消耗了太多的互联网数据 单笔记本 6 小时训练约 4GB 可能是什么问题 是的 我有同样的问题 它通常工作正常 但互联网数据突然激增 检查这个 https i stack imgur com Ms9QI pn
  • ViewModel 在视图中无法识别

    我在不同项目 类库 中的视图模型 我添加了参考 但是当我从我的 mvc4 视图中调用它时 例如 model Fancy Management Model Home IndexModel 查看未识别它 我不知道是什么问题 我的视图如下所示 m
  • 控制 Kubernetes 中单个 pod 中容器终止的顺序

    我的一个容器内有两个容器 第一个是我的应用程序容器 第二个是 CloudSQL 代理容器 基本上我的应用程序容器依赖于这个 CloudSQL 容器 问题是 当 pod 终止时 CloudSQL 代理容器首先终止 并且仅在几秒钟后我的应用程序
  • 从命令行启动时出现 MacVim 颜色问题

    我对 Vim 比较陌生 到目前为止一直在使用它 没有出现任何问题 我要么从我的扩展坞启动 MacVim 要么使用mvim从命令行 到目前为止效果很好 但现在我遇到了一个问题 没有明显的原因 从命令行启动 MacVim 开始创建一个所有颜色都
  • 在Java中忽略你自己的UDP广播

    在我的程序中 我发送 UDP 广播并对它们做出反应 我需要一种方法来忽略 UDP 广播I发送出去 但对那些不是来自我的机器的做出反应 我确实尝试使用 if NetworkInterface getByInetAddress packet g
  • Vue JS - 访问组件内的根计算属性

    我正在尝试从根 Vue 实例访问计算属性并在组件内部访问它 这 p class currency 在组件模板外部输出的元素正确输出 currency 但是当尝试访问组件内部的 currency 时 不会输出任何内容 我尝试过将货币设置为道具
  • 使用 R 在坐标系中绘制节点和边

    我实施了FR测试here http itee uq edu au zxf papers ACMMM08 distributionn pdf现在我想通过可视化 R 中生成的最小生成树来测试它 顶点和边应该在坐标系中绘制 此外 我想为每个点设置
  • MongoDB 嵌入 Java

    我从文档中得到的是 它在其他计算机上作为单独的进程运行 我可以使用 java 的 mongo db 客户端驱动程序与它进行通信 并且我可以执行正常操作 但我怀疑我是否可以在我的java应用程序中使用MongoDB作为嵌入式数据库 我的意思是
  • 带有 UIImage 的 Swift 游乐场

    我正在使用 Xcode 6 并且正在尝试重新创建在会话 401 Xcode 6 中的新增功能 期间演示的代码 我已将图像添加到 Images xcassets 称为 Sample 并在游乐场文件中我尝试访问此图像 如演示的那样 我的代码如下
  • 为什么 React devtools Profiler 不向我显示组件属性?

    我开始学习React的优化 并看到一些学习资源 在它们上 我可以在探查器中看到组件道具 但在我的 Profiler 中 我没有看到任何道具 为什么 如何在 Profiler 中查看当前渲染组件的 props A make screensho
  • 方法:python-pdfkit 将网页(JS生成)转换为PDF

    views py def download as pdf request some stuff function call to get updated with data and JS template and render it ret
  • Laravel Eloquent:SQL 注入预防是自动完成的吗?

    给出示例代码 Message是一个雄辩的模型 public function submit Request request this gt validate request name gt required email gt require