Как скрыть имя Yii Web Framework от Wappalyzer? - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь скрыть имя фреймворка Yii от плагина Wappalyzer в Chrome / Firefox. Мне нужно скрыть имя фреймворка как часть аудита безопасности.

Я отключил серверные сигнатуры в конфигурации Apache, но имя фреймворка Yii по-прежнему показывает

1 Ответ

1 голос
/ 12 октября 2019

Вы можете узнать, как Wappalyzer обнаруживает Yii здесь

HTML-код

Вам необходимо сделатьубедитесь, что ваш html не содержит код, упомянутый в html part.

  1. Текст Powered by... генерируется Yii::powered(), поэтому убедитесь, что вы не вызываете его в файле макета.
  2. Вы измените имя ввода токена CSRF, чтобы не было проблем со второй строкой
  3. Эти блоки заменяются при вызове endPage() метода yii\web\View, поэтому убедитесь, что у вас есть$this->endPage(); вызов в конце вашего макета.

Cookies

Чтобы избежать этого обнаружения, вам необходимо изменить токен CSRFимя. Вы можете найти здесь, как его изменить: как изменить идентификатор поля csrf с YII_CSRF_TOKEN на любой другой

JS файлы

Это, наверное, самое неприятное обнаружение. Шаблон обнаружения в Wappalyzer предполагает, что папки ресурсов состоят из 8 символов. К счастью, в yii\web\AssetManager есть свойство hashCallback, см. Документацию . Вы можете использовать его, чтобы изменить способ генерирования имен папок для ресурсов.

Это поможет вам избежать обнаружения Wappalyzer, но тот, кто посмотрит, какие скрипты загружены, все равно сможет увидеть, что yii.jsзагружаются сценарии yii.validation.js и yii.activeForm.js. Вы можете скопировать их в некоторые из своих папок, переименовать их, а затем настроить пакеты ресурсов , чтобы изменить загруженные сценарии.

Вы можете настроить следующие ресурсы:

  • yii\web\YiiAsset для yii.js сценария.
  • yii\validators\ValidationAsset для yii.validation.js сценария.
  • yii\widgets\ActiveFormAsset для yii.activeForm.js сценария.
...