将网站文件放在 public_html 中是否安全

问题描述

我在 Laravel 中有一个后端,在 react 中有一个前端。现在有人将我的前端转换为 next.js。

我的问题,我看到他将我的前端放在公用文件夹中,将后端也放在公用文件夹中,在他转换之前,我在公用文件夹外有一个文件名称网站应用程序。

但是在公共文件夹中同时拥有后端和前端是否安全?当我将所有内容都放在公共文件夹中时,有人可以下载整个网站文件吗?

我觉得有点奇怪。

解决方法

你是对的,整个项目不应该在公共文件夹中,正如它的名字所说,它是用于应该具有公共访问权限的东西,而其他非公共文件应该在公共文件夹上方的文件夹中。这是一个很好的做法,但请记住,没有最好的地方可以安全地存储您的文件。您的敏感文件的安全只是服务器采用的良好安全措施组合的结果。

如果你的项目是用 Laravel 制作的,你应该已经有一个公用文件夹,这就是服务器上公用文件夹内的内容。 Laravel 将公共文件夹视为已经编译并“准备好显示”给浏览器的内容。您的视图、css 和 js 文件位于 resources 文件夹中,如果您检查 public 文件夹,它将有一个 css 文件夹、一个 js 文件夹和 index.php。这是因为 Laravel 允许用户使用例如 Blade 和 Sass,这些东西需要处理并转换成你在 public 文件夹中看到的文件,以便浏览器可以理解它们。

所以你应该使用 Laravel 给你的 public 文件夹,而不是将整个项目发布到 public 文件夹中。