站长资讯网
最全最丰富的资讯网站

聊聊 Laravel 中 App_KEY 的作用

Laravel 中的 App_KEY 到底有什么用?下面本篇文章给大家介绍一下App_KEY 的作用,希望对大家有所帮助!

聊聊 Laravel 中 App_KEY 的作用

Laravel 9 保姆级视频教程,想学不会都难!进入学习

每次 Laravel 开发人员新建或克隆 Laravel 应用时,生成 application keyAPP_KEY 是最重要的初始步骤之一。

最近的 Laravel 安全更新修复了一个 APP_KEY 用途相关的漏洞。为了利用此漏洞,首先需要有权访问生产版 APP_KEY。解决此漏洞最简单的方法是转换(更改)您的 APP_KEY。这导致我们中的一些人提出了一个问题:应用程序密钥有什么作用?更改涉及什么?管理 Laravel 应用程序中的这些密钥的最佳实践是什么?

在这篇文章中,我们将讨论 APP_KEY 做和不做的事情,关于它与用户密码哈希的关系的一些常见误解,以及安全地更改 APP_KEY 的简单步骤而不会丢失对您数据的访问权限。

Laravel 安全修复

8月初,Laravel 5.5 和 5.6 收到了与 Cookie 序列化和加密有关的安全修复程序。一方面,修复很简单,大多数应用程序可能没有受到影响。另一方面,这是一个严重的安全风险,表明我们的社区需要更好地了解 APP_KEY 的工作方式。

要利用此安全漏洞,需要有人知道您的 APP_KEY,这就是为什么我要带您详细了解您的密钥,为什么重要以及如何更改它的原因。

有关安全修补程序的信息,请参阅以下资源:

  • 安全更新(5.6.30)发行说明:https://learnku.com/docs/laravel/5.6/upgrade#upgra…
  • 安全更新(5.5.42)发行说明:https://learnku.com/docs/laravel/5.5/upgrade#upgra…

什么是 APP_KEY

应用程序密钥是一个32位字符的随机字符串,存储在 .env 文件中的 APP_KEY 密钥中。 Laravel 安装程序会自动为您生成一个,因此您只会在克隆现成应用程序时注意到它的缺失。

您之前可能看到过此错误:

聊聊 Laravel 中 App_KEY 的作用

要创建新密钥,您可以自己生成一个密钥并将其粘贴到您的 .env 中,或者可以运行 php artisan key:generate 让 Laravel 为您创建并自动插入一个密钥。

应用程序运行后,便会在一个地方使用 APP_KEY:cookie。Laravel 将密钥用于所有加密的 cookie (包括会话 cookie),然后再将其交给用户浏览器,并使用它解密从浏览器读取的 cookie。这样可以防止客户端更改其 cookie 并为其授予管理员特权或模拟应用程序中的其他用户。加密的 cookie 是 Laravel 中的重要安全特性。

所有这些加密和解密操作均由Laravel通过 Encrypter 使用 PHP 内置的安全工具处理,包括 OpenSSL。我们不会在这里仔细研究加密的工作原理,但是如果您想了解

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号