如何从 Wappalyzer 隐藏 Yii Web 框架名称?

How to hide Yii Web Framework name from Wappalyzer?

我试图在 Chrome/Firefox 中对 Wappalyzer 插件隐藏框架名称 Yii。作为安全审计的一部分,我需要隐藏框架名称。

我已经在 Apache 配置中关闭了服务器签名,但框架名称 Yii 仍然显示

您可以找到 Wappalyzer 如何检测 Yii here

HTML代码

您需要确保您的 html 不包含 html 部分中提到的代码。

  1. Powered by... 文本由 Yii::powered() 生成,因此请确保您没有在布局文件中调用它。
  2. 您将更改 CSRF 令牌输入的名称,因此第二行不是问题
  3. 当您调用 yii\web\ViewendPage() 方法时,这些块将被替换,因此请确保您在布局末尾调用 $this->endPage();

Cookies

要避免这种检测,您需要更改 CSRF 令牌名称。您可以在此处找到更改方法: how to change csrf field id from YII_CSRF_TOKEN to any other

JS文件

这可能是最烦人的检测。 Wappalyzer 中的检测模式假设资产文件夹是 8 个字符长的字符串。还好在yii\web\AssetManagersee documentation里有hashCallback属性。您可以使用它来更改资产文件夹名称的生成方式。

这将帮助您避免 Wappalyzer 检测,但查看加载了哪些脚本的人仍然能够看到 yii.js、yii.validation.js 和 yii.activeForm.js 脚本是加载。您可以将它们复制到您的一些文件夹,重命名它们,然后 customize asset bundles 更改加载的脚本。

您将要自定义以下资产:

  • yii\web\YiiAsset 用于 yii.js 脚本。
  • yii\validators\ValidationAsset 用于 yii.validation.js 脚本。
  • yii\widgets\ActiveFormAsset 用于 yii.activeForm.js 脚本。