Twig 1.x - 我可以安全地删除哪些文件用于生产?
Twig 1.x - what files can I safely remove for production?
审核后,我的任务是从我们其中一个站点的 Twig 1.x 供应商目录中删除无关文件。计划删除 /twig/twig/doc、/twig/twig/test 并查看是否有任何问题。
/twig/twig/ext/twig/run-tests.php 或整个 "ext" 目录呢?
有没有人有为生产环境清除默认 Twig 1.x 安装的经验?非常欢迎任何帮助或建议。
正确的做法是更新您网站的布局,使这些文件位于您的网络服务器的文档根目录之外——这样您就不必担心删除什么和保留什么。你可能有这样的事情,你的网络服务器的文档根目录直接指向 /path/to/project
:
/path/to/project
/lib
foo.php
bar.php
/twig
/twig
/doc
/test
index.php
这意味着任何人都可以直接请求http://yourdomain.com/twig/twig/test/some_file.php
你想要的更像这样:
/path/to/project
/public
index.php
/lib
foo.php
bar.php
/twig
/twig
/doc
/test
然后配置您的网络服务器,使其文档根目录为 /path/to/project/public
。那么您的应用程序代码仍然可以 include()
/twig
和 /lib
中的内容,但您的 Web 服务器不会直接为它们提供服务。
如果您从 vendor 目录中删除文件,它们会在您下次安装 composer 时返回,所以这似乎毫无意义。
您提到的文件(文档和测试)除了占用 space 之外没有造成任何危害,因为它们没有被直接调用,但这只是任何包管理系统的缺点。正如@Alex 所说,只要它们不可公开访问,就无需担心。
如果你真的想要没有额外文件的 Twig,你可以 fork 这个项目,把它移到你自己的 Git 仓库中,然后在你的 composer.json 中引用它而不是官方的 - 但你会错过任何来自 Twig 的更新。
我们 运行 在 Apache 上,所以最简单的解决方案是简单地将 .htaccess 文件添加到顶级供应商目录:
# Prevent non-local access to the vendor directory.
Order deny,allow
Deny from all
目录结构:
/root
/vendor
.htaccess
/twig
...
/includes
...
现在 PHP 脚本继续具有访问权限,但外部尝试查看供应商目录中的任何内容 return 出现 403 错误。
审核后,我的任务是从我们其中一个站点的 Twig 1.x 供应商目录中删除无关文件。计划删除 /twig/twig/doc、/twig/twig/test 并查看是否有任何问题。
/twig/twig/ext/twig/run-tests.php 或整个 "ext" 目录呢?
有没有人有为生产环境清除默认 Twig 1.x 安装的经验?非常欢迎任何帮助或建议。
正确的做法是更新您网站的布局,使这些文件位于您的网络服务器的文档根目录之外——这样您就不必担心删除什么和保留什么。你可能有这样的事情,你的网络服务器的文档根目录直接指向 /path/to/project
:
/path/to/project
/lib
foo.php
bar.php
/twig
/twig
/doc
/test
index.php
这意味着任何人都可以直接请求http://yourdomain.com/twig/twig/test/some_file.php
你想要的更像这样:
/path/to/project
/public
index.php
/lib
foo.php
bar.php
/twig
/twig
/doc
/test
然后配置您的网络服务器,使其文档根目录为 /path/to/project/public
。那么您的应用程序代码仍然可以 include()
/twig
和 /lib
中的内容,但您的 Web 服务器不会直接为它们提供服务。
如果您从 vendor 目录中删除文件,它们会在您下次安装 composer 时返回,所以这似乎毫无意义。
您提到的文件(文档和测试)除了占用 space 之外没有造成任何危害,因为它们没有被直接调用,但这只是任何包管理系统的缺点。正如@Alex 所说,只要它们不可公开访问,就无需担心。
如果你真的想要没有额外文件的 Twig,你可以 fork 这个项目,把它移到你自己的 Git 仓库中,然后在你的 composer.json 中引用它而不是官方的 - 但你会错过任何来自 Twig 的更新。
我们 运行 在 Apache 上,所以最简单的解决方案是简单地将 .htaccess 文件添加到顶级供应商目录:
# Prevent non-local access to the vendor directory.
Order deny,allow
Deny from all
目录结构:
/root
/vendor
.htaccess
/twig
...
/includes
...
现在 PHP 脚本继续具有访问权限,但外部尝试查看供应商目录中的任何内容 return 出现 403 错误。