Laravel 团队本周发布了 v6.4,其中包含密码重置安全修复和最新的新功能
首先,一个与密码重置相关的安全修复程序被贡献了出来。该修复程序限制用户每 60 秒只能创建一个密码重置记录。这可以防止攻击者提交大量密码请求,从而淹没用户的电子邮件。您可以在 23041e9 和 a934160 中查看提交。
接下来,一个 missing() 方法被添加到 Request 类中,用于检查 has() 的反面。
// Beforeif (! $request->has('foo')) { //} // using missingif ($request->missing('foo')) { //}
接下来,Pipeline 类中的一个 pipes() getter(而不是直接使用 $pipes 属性)允许更动态的管道
class BackupAction extends Pipeline{ protected function pipes(): array { return config('actions.backup.tasks', [ Tasks\SetupPassable::class, Tasks\CreateTemporaryDirectory::class, Tasks\PrepareFilesToBackup::class, Tasks\CreateZipBackupFile::class, Tasks\MoveZipArchiveToDisks::class, Tasks\SendNotification::class, ]); }}
最后,一个新的 assertCreated() 方便方法使您能够断言 201 响应状态代码
// Instead of the following$response->assertStatus(Response::HTTP_CREATED); // A convenient 201 assertion$response->assertCreated();
您可以在下面查看新功能和更新的完整列表,以及 GitHub 上 6.3.0 和 6.4.0 之间的完整差异。Laravel 6.0 的完整发布说明可在 GitHub v6 变更日志 中找到
v6.4.0
新增
- 在
Request类中添加missing()方法 (#30320) - 添加
Pipeline::pipes()方法 (#30346) - 添加
TestResponse::assertCreated()方法 (#30368)
更改
- 在
DetectsLostConnections中添加connection is no longer usable(#30362) - 为多对多关系的 find 方法实现解析 ID (#30359)
- 对子查询进行改进 (#30307, 3f3b621)
- 在
Markdown::render()方法中将邮件数据传递给主题 CSS (#30376) - 在 RequirePassword 中间件中处理 ajax 请求 (#30390, 331c354)
修复
- 修复
retry()中$times值小于 1 的情况 (#30356) - 修复
SetCacheHeader中的last_modified选项 (#30335) - 修复文件系统管理器在不支持的驱动程序上的异常 (#30331, #30369)
- 修复绑定事件监听器的
shouldQueue()检查 (#30378) - 在迁移表未找到时使用退出代码
1(#30321) - 缓解密码确认功能引入的重大更改 (#30389)