【问题标题】:Laravel 8 project deploy to shared hosting - security issues and public_html folderLaravel 8 项目部署到共享主机 - 安全问题和 public_html 文件夹
【发布时间】:2021-10-11 18:34:48
【问题描述】:

根据以下文章,我能够将我的 laravel 8 应用程序部署为 inmotion 共享主机上的插件域 https://medium.com/backenders-club/how-to-host-a-laravel-project-on-a-shared-hosting-via-cpanel-d955d32c528e

但是,这存在安全问题,因为我可以键入 mysite.com/.env 并且文件内容在显示密码的浏览器中列出。

我尝试了许多选项将我的 laravel 应用程序的公用文件夹放入 public_html/public 文件夹,但没有一个对我有用。有人也遇到这个问题吗?

插件域文档根目录 - /public_html/public
Laravel 8 应用程序 - /mysite.com(公共文件夹内容已移至 public_html/public)
在public_html/public文件夹内,index.php文件修改如下:

require __DIR__.'/../../mysite.com/vendor/autoload.php';  
$app = require_once __DIR__.'/../../mysite.com/bootstrap/app.php';

在浏览器中我得到“未指定输入文件”。

【问题讨论】:

    标签: laravel deployment shared-hosting public-html addon-domain


    【解决方案1】:

    如果您尝试将公用文件夹中的文件移动到根目录,那么任何人都可以查看根目录中存在的文件,这是一种不好的做法, 我对您的建议,将您的文件返回到公用文件夹并使用其中的一种解决方案:- 首先,您可以将域文档根目录更改为公共路径 其次,您可以在根文件夹中创建 .htaccess 文件并包含此代码:-

    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^public
    RewriteRule ^(.*)$ public/$1 [L]
    
    • 我更喜欢第一种解决方案。

    【讨论】:

    • 感谢第一个选项有效。文件保存在 mysite.com/public 文件夹中,我的插件域文档根指向 mysite.com/public。第二个选项对我不起作用,因为 CSS 没有加载。
    • 欢迎,不要忘记投票答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 2019-08-01
    • 2019-09-25
    • 2021-06-12
    • 2019-06-27
    • 2018-12-02
    相关资源
    最近更新 更多