将 App Key 存储在 Laravel 中的最佳做法
Best practice to store App Key in Laravel
我对此进行了大量研究,但似乎找不到明确的答案。显然,如今安全是一个大问题,黑客攻击遍及各大公司,这些公司在安全方面投入了数百万美元,但他们仍然遭到黑客攻击。
我经常在 Laravel 上工作,并与 Hostgator 或一些类似的知名公司使用共享主机。 Laravel 带有一个内置函数,用于加密数据库信息并在用户请求时解密给用户。
但是,我对这实际上有多安全有疑问。如果有人进入我的 cPanel,我用于加密的应用程序密钥就在他们面前。当然,我的 cPanel 密码是由 Hostgator 自动生成的密码,它完全是乱码,到处都是分号和字母数字字符串,因此不容易猜到。
但我正在努力学习更多有关安全的知识。如果我 env
文件中的应用程序密钥在我的 cPanel 登录后被安全锁定,Laravel 是否内置于“encrypt()
”方法 "enough" 以调用应用程序 "secure"? Laravel 或我的主机提供商是否有其他措施可以使它比严格的密码更安全?是否有某种通过不位于 cPanel 区域的外部源引用应用程序密钥的做法?所以即使我的 cPanel 被黑了,我的应用程序密钥也不会在那些文件中并暴露出来?
我不是安全专家,但根据我在高度安全的公司工作的经验,我可以分享几点。
首先,Laravel本身没问题。您通常可以信任开源软件,因为它是透明的,并且可以及早发现和解决安全漏洞。所以你不需要改进Laravel,直接使用它,最好是LTS版本。
那么,CPanel 就是一个负担。您应该尽量减少系统上的弱点,即那些可以从外部访问的弱点。获取 VPS 或私人服务器并通过 SSH 访问它,不要在其上使用 CPanel 和 PhpMyAdmin 等工具。您拥有的与外部世界通信的软件越少,您就越不容易受到该软件中的错误的影响。
在我目前的公司中,生产服务器只能通过 SSH 从 单个 IP 地址访问,即开发服务器的地址。所以我先登录到开发服务器,然后从那里登录到产品。它拒绝来自所有其他 IP 的所有连接。
如果您仅限于使用 CPanel 或类似工具,请考虑使用 HTTP Basic Auth 保护登录页面,一些托管服务提供商允许这样做。
您还想使您的系统和软件保持最新。也不是太新,因为它可能有尚未发现的错误。我们的 devops 更喜欢让它落后几个小版本,这样社区就有时间测试它并为你破解。
这就是我作为网络开发人员所知道的一切,当然有特殊的工具和 ddos 保护服务,但这超出了开发人员的关注范围。如果你只是按照这些步骤,你应该是安全的。希望能有所帮助,干杯:)
我对此进行了大量研究,但似乎找不到明确的答案。显然,如今安全是一个大问题,黑客攻击遍及各大公司,这些公司在安全方面投入了数百万美元,但他们仍然遭到黑客攻击。
我经常在 Laravel 上工作,并与 Hostgator 或一些类似的知名公司使用共享主机。 Laravel 带有一个内置函数,用于加密数据库信息并在用户请求时解密给用户。
但是,我对这实际上有多安全有疑问。如果有人进入我的 cPanel,我用于加密的应用程序密钥就在他们面前。当然,我的 cPanel 密码是由 Hostgator 自动生成的密码,它完全是乱码,到处都是分号和字母数字字符串,因此不容易猜到。
但我正在努力学习更多有关安全的知识。如果我 env
文件中的应用程序密钥在我的 cPanel 登录后被安全锁定,Laravel 是否内置于“encrypt()
”方法 "enough" 以调用应用程序 "secure"? Laravel 或我的主机提供商是否有其他措施可以使它比严格的密码更安全?是否有某种通过不位于 cPanel 区域的外部源引用应用程序密钥的做法?所以即使我的 cPanel 被黑了,我的应用程序密钥也不会在那些文件中并暴露出来?
我不是安全专家,但根据我在高度安全的公司工作的经验,我可以分享几点。
首先,Laravel本身没问题。您通常可以信任开源软件,因为它是透明的,并且可以及早发现和解决安全漏洞。所以你不需要改进Laravel,直接使用它,最好是LTS版本。
那么,CPanel 就是一个负担。您应该尽量减少系统上的弱点,即那些可以从外部访问的弱点。获取 VPS 或私人服务器并通过 SSH 访问它,不要在其上使用 CPanel 和 PhpMyAdmin 等工具。您拥有的与外部世界通信的软件越少,您就越不容易受到该软件中的错误的影响。
在我目前的公司中,生产服务器只能通过 SSH 从 单个 IP 地址访问,即开发服务器的地址。所以我先登录到开发服务器,然后从那里登录到产品。它拒绝来自所有其他 IP 的所有连接。
如果您仅限于使用 CPanel 或类似工具,请考虑使用 HTTP Basic Auth 保护登录页面,一些托管服务提供商允许这样做。
您还想使您的系统和软件保持最新。也不是太新,因为它可能有尚未发现的错误。我们的 devops 更喜欢让它落后几个小版本,这样社区就有时间测试它并为你破解。
这就是我作为网络开发人员所知道的一切,当然有特殊的工具和 ddos 保护服务,但这超出了开发人员的关注范围。如果你只是按照这些步骤,你应该是安全的。希望能有所帮助,干杯:)