Laravel 5.4.22 发布啦!包含安全修复哟~

file
Laravel 5.4.22 发布啦!这个版本修复了与密码重置系统相关的安全漏洞,因此建议每个人都应该进行升级。

Laravel 5.4.22 为 Laravel 5.4 系列版本中能对应用程序中的用户进行网络钓鱼的安全漏洞安装了补丁。使用密码重置系统,恶意用户可以尝试欺骗你的用户将登录凭据输入到他们控制的单独应用程序中。由于密码重置通知使用主机传入请求来获取重置密码的 URL,因此用来生成重置密码的 URL 的主机可能会被欺骗。如果用户没有注意到他们访问的域名不正确,他们可能会意外将自己的登录凭据输入到恶意的应用程序中。

发行说明 还提到那些正在运行的 Laravel 5.1的修复,你得确保密码重置链接包含你的网站的完整 URL。例如:

{{ url('http://example.com/password/reset/'.$token) }}

5.4.22 完整的更改日志

添加

  • MessageBag::hasAny() 中传的密钥数量支持动态 (#19002)

  • 添加 Seeder::callSilent() 方法 (#19007)

  • make() 方法添加到 Eloquent 查询构建器中 (#19015)

  • Enloquent 的 find() 方法中支持 Arrayable (#19019)

  • 添加了 SendsPasswordResetEmails::validateEmail() 方法 (#19042)

  • 允许工厂属性为工厂实例本身 (#19055)

  • 在 EventFake 上实现 until() 方法 (#19062)

  • 将 $encoding 参数添加到 Str::length() 中 (#19047, #19079)

改变

  • 在传递第一个无效的参数给辅助函数 cache() 时抛出异常 (d9459b2)

  • Authenticatable::getAuthIdentifier() 中返回的 getKey() 改成 getAuthIdentifierName() (#19038)

  • 克隆聚合查询时将 order by 语句去掉 (#19064)
  • 密码重置通知的通知强制带上主机链接 (cef1055)

修复

  • 在嵌套数组中测试文件上传时设置数据密钥 (#18954)

  • 修复子查询和额外 select 语句的相关的错误 (#19013)

  • 使用参数时从容器解析别名 (#19071)

  • 如果发生数据库断开,就停止工作 (#19080, 583b1b8)

  • assertJsonStructurez() 方法中固定调用 assertJson() 时传的值 (#19090)

参考链接:https://laravel-news.com/laravel-5-4-22-is-now-released-and-includes-a-security-fix

Stay Hungry, Stay Foolish.