我正在开展小型项目,并将其托管在普通的Godaddy主机计划中,问题是:所有文件系统都可以通过互联网访问。
那么,如何阻止访问除/ public
之外的任何文件夹或文件CONTRIBUTING.md
app/
artisan
bootstrap/
composer.json
composer.lock
phpunit.xml
public/
server.php
vendor/
感谢,
答案 0 :(得分:2)
为什么不拆分项目?将public
的内容上传到您的文档根目录,将其余内容上传到其他位置(例如您的主目录)。然后只需修改public/index.php
文件中的两个路径以指向正确的位置,例如
$path = __DIR__ . '/../my-app';
require $path . '/bootstrap/autoload.php';
$app = require_once $path . '/bootstrap/start.php';
答案 1 :(得分:2)
如果您将apache站点文档根目录指向/public
,则人们无法访问您公开之外的应用程序中的任何其他文件。即使他们试图做以下事情:
http://yoursite.com/../
修改强>
这不应该依赖于框架来做,保护站点上的目录是Web服务器作业,因此您需要在服务器上找到解决方案:虚拟主机,文档根,Web根目录,域目录或甚至.htaccess配置。
在某些共享托管公司中,您可以轻松地执行此操作,其中一些具有cPanel或Plesk,但是其他内容(如Hostgator)将为您提供足够的配置,以便您可以将目录根目录更改为/ public。如果你没有cPanel账户,看起来GoDaddy并没有多大帮助,但是,仍然有一些技巧可以帮助你按照你应该做的方式做到:http://support.godaddy.com/help/article/4067/setting-up-a-non-web-accessible-root-folder。可能还有其他人。