更改文件夹结构以删除公用文件夹时影响Laravel 5的安全性

时间:2015-07-15 05:46:47

标签: php laravel laravel-4 laravel-5

我是Laravel 5中的新人。

我在Stack Overflow上找到了这个Laravel 5 - Remove public from URL来从我的Laravel 5应用程序中删除公用文件夹。只有我对安全性有疑问。

当我从URL中删除public时,我必须更改Laravel 5的基本文件夹结构。是的,没有公共URL的工作正常。

但是关于Laravel的安全性是什么,因为我正在改变默认的文件夹结构?使用安全吗?

2 个答案:

答案 0 :(得分:4)

您应该将Apache主机根目录指向$LARAVEL_PATH/public目录而不是$LARAVEL_PATH

拥有www主机root而不是项目root的子目录是因为您没有通过Web服务器泄露任何项目文件。

即使所有PHP文件都有文件后缀.php,恶意用户也可以访问您的$LARAVEL_PATH/storage目录及其子目录内容,阅读composer.jsonpackage.json以查找易受攻击的依赖项或读取.env文件等。

如果您在共享主机上运行并且您具有强制public_html,请尝试在该public_html目录之外安装Laravel并删除public_html(如果为空)并将其替换为符号链接{{1 }} {的public_html {1}} $ LARAVEL_PATH /公共$LARAVEL_PATH/public OR if you want the Laravel instance to be subdirectory of的public_html / $ PROJECT_SUBDIR`。

该公共目录是有理由使项目更安全。解决实际问题,不要试图打破这个简单但很好的安全性添加。 :)

答案 1 :(得分:-1)

您提供的此链接与更改框架的实际文件结构无关,此示例使用mod_rewrite重写应用程序的URL。换句话说,您告诉服务器您希望指向该目录,而最终用户无法看到完整路径。

另请查看您提供的链接的以下答案。

  

将Laravel根文件夹中的server.php重命名为index.php和   将.htaccess文件从/ public目录复制到Laravel根目录   夹。 - 而已 !! :)