将Laravel项目文件保存在公共html中是否不安全?

将Laravel项目文件保存在公共html中是否不安全?,laravel,shared-hosting,public-html,Laravel,Shared Hosting,Public Html,我在共享主机上的public_html(即下面的一个级别)中有3个不同的laravel项目 我更改了每个域/子域文档根路径,以指向相应的项目/公用文件夹(即public_html/project1/public) 此外,我将Options-Indexes语句放在.htaccess文件中,这样人们就不能直接浏览到我的项目文件,并拒绝了对.env文件的所有访问 是否仍然存在执行此操作的漏洞?您不应该将应用程序源文件保存在可公开访问的位置。这就是首先拥有一个公共目录的全部意义,以限制可以访问的内容 我

我在共享主机上的public_html(即下面的一个级别)中有3个不同的laravel项目

我更改了每个域/子域文档根路径,以指向相应的项目/公用文件夹(即public_html/project1/public)

此外,我将Options-Indexes语句放在.htaccess文件中,这样人们就不能直接浏览到我的项目文件,并拒绝了对.env文件的所有访问


是否仍然存在执行此操作的漏洞?

您不应该将应用程序源文件保存在可公开访问的位置。这就是首先拥有一个公共目录的全部意义,以限制可以访问的内容

我假设当您提到public_html时,您正在使用类似cpanel的共享托管解决方案。在这些场景中,apache托管配置和对相应文件夹的访问由托管提供商管理。这意味着您可以限制对代码的访问。通常,托管提供程序会将所有文件公开

因此,如果我对您的设置的假设是正确的,那么您的问题的答案是:是的,这是不安全的

您可能还想知道: 如何在共享主机服务器上安全安装laravel?

你应该按照你的指示去做。本文将向您展示如何取出应该是公共的文件夹,并更新配置以指向迁移到新位置的子文件夹


希望这有帮助。

是的,它可能非常不安全。在最坏的情况下,您可能会意外地公开数据库凭据。您的假设是正确的。按照链接中的安全方法,是否可能在同一个帐户上有多个项目(不同的域)?每个项目都需要自己的文件(即.env文件),但只有一个“public_html”文件夹。我的意思是每个项目都需要自己的“public”文件夹来存储css、图像等(忘记env文件)@user1604542,是的,你可以。您需要为公共文件夹命名一个唯一的名称,您必须为每个文件夹更新.htaccess(通常可以通过cpanel)。通常,当您向cpanel中添加新域时,它将在public_html中为其创建相应的公用文件夹。还要检查softalicious是否有laravel。一些主机提供商在Softalicus中提供laravel解决方案。我个人在共享主机解决方案上运行博客,但在aws上构建我的laravel项目,我建议将aws用于laravel。看看他们的免费12个月。太棒了,是的,我想知道什么是更好的托管选择。谢谢你,伙计!没问题,欢迎来到StackOverflow!如果回答了您的问题,请确保向上投票并选择此作为答案:)。