jkribeiro / drupal-composer-paranoia-acquia
Composer插件,通过将所有PHP文件从docroot移出,以提高基于composer的Drupal项目的安全性,适用于Acquia环境。
1.0.0-alpha4
2020-12-09 14:23 UTC
Requires
- php: >=5.4.5
- composer-plugin-api: ^1.1 || ^2
- drupal-composer/drupal-paranoia: ~1
Requires (Dev)
- composer/composer: dev-master
This package is auto-updated.
Last update: 2024-09-09 22:47:22 UTC
README
Composer插件,通过将所有PHP文件从docroot移出,以提高基于composer的Drupal项目的网站安全性,适用于Acquia环境。
本插件依赖于drupal-paranoia插件,在Acquia云环境中执行额外的安装步骤以运行paranoia模式。
想了解更多吗?
- https://github.com/drupal-composer/drupal-paranoia
- 将所有PHP文件移出docroot
- #1672986:选项将所有PHP文件放在web根目录外
- 远程代码执行 - SA-CONTRIB-2016-039
- https://twitter.com/drupalsecurity/status/753263548458004480
配置
请确保您已创建基于drupal-composer/drupal-project的项目。
将Acquia仓库的docroot目录重命名为app
。
mv docroot app
使用以下更改更新您根包的composer.json
"extra": { "installer-paths": { "app/core": ["type:drupal-core"], "app/libraries/{$name}": ["type:drupal-library"], "app/modules/contrib/{$name}": ["type:drupal-module"], "app/profiles/contrib/{$name}": ["type:drupal-profile"], "app/themes/contrib/{$name}": ["type:drupal-theme"], "drush/contrib/{$name}": ["type:drupal-drush"] }, "drupal-paranoia": { "app-dir": "app", "web-dir": "docroot" } "..." }
使用composer require ...
在您的项目中安装此插件。
composer require jkribeiro/drupal-composer-paranoia-acquia:~1
运行以下命令以确保新文件夹已安装
composer drupal:paranoia
composer drupal:paranoia-acquia
完成!插件和新docroot已安装。
文件夹结构
您的项目现在基本上分为两个文件夹。
- app:包含完整Drupal安装的文件和文件夹。
- docroot:仅包含来自
app
文件夹的资产文件的符号链接和PHP占位符文件。
每次您通过Composer安装或更新Drupal包时,docroot
文件夹都会自动重新创建。
如有必要,您可以手动重建它,运行以下命令
composer drupal:paranoia
这可能在更新主题图像、CSS和JS文件时是必要的。
最后一步是将更改提交并推送到Acquia Cloud git仓库。