安全性:我应该在文档根目录之外移动vendor dir和composer.json吗?

Uwe*_*zer 7 vendor composer-php

  1. 刚开始与作曲家合作.
  2. 安装了一些作曲家的东西到我的<documentroot>/vendor/目录.

  3. 现在,每个人(每个黑客)都可以composer.json http://foo.tld/composer.json上阅读我的内容

  4. 然后他们知道,安装了哪个软件.然后他们可以<documentroot>/vendor/通过http://foo.tld/vendor/symfony/等网址探测我的目录.

我该怎么办?

a)我可以:

  • chmod 0600 composer.json
  • 放入.htaccess供应商目录,拒绝所有访问权限

b)将供应商目录移到文档根目录之外(这在共享主机环境中并不总是可行的.

Sve*_*ven 7

你应该将它移出DOCUMENT_ROOT.

框架应用程序的通常结构是顶级目录(包含stuff和composer.json文件)不是DOCUMENT_ROOT.那里有一个专门的目录,可能名为"public"或"htdocs",里面包含"the"中央index.php文件旁边的所有常用资产(CSS,JS,pics).

如果你无法通过共享主机获得该布局,那么你可能应继续前进,因为你无法在那里隐藏直接HTTP访问的文件.