如何隐藏程序使用的技术?

Shr*_*ree 5 .net asp.net web

当我搜索我的问题时,我发现了这个老问题。

如何找出程序使用的技术?.

它定义了如何显示而不是如何隐藏?我有几个 asp.net 站点。我的一些站点使用 CKEditor 和其他 JavaScript 库。

当我输入我的网址时:

http://builtwith.com/

它的节目: 结果

是否有任何 web.config 设置或其他设置不显示我的网站使用的技术或程序。我搜索了很多但找不到任何东西。任何帮助将不胜感激。谢谢。

Moh*_*our 5

默认情况下,ASP.NET 经常自我宣传。它发送每个响应的 HTTP 标头,告诉世界和狗您的网站托管在哪个版本的 ASP.NET 上,甚至您正在使用哪个版本的 MVC。下面是每个请求都不必要发送的额外标头的示例:

ASP.NET 自定义标头

要解决此问题,您需要做一些事情。第一个是将 httpRuntime 部分上的enableVersionHeader 设置设置为 false。

<!-- enableVersionHeader - Remove the ASP.NET version number from the response headers. Added security through obscurity. -->
<httpRuntime targetFramework="4.5" enableVersionHeader="false" />
Run Code Online (Sandbox Code Playgroud)

然后您需要清除自定义标头,如下所示。

<httpProtocol>
  <customHeaders>
    <!-- X-Powered-By - Remove the HTTP header for added security and a slight performance increase. -->
    <clear />
  </customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请阅读这篇文章:保护 ASP.NET Web.config

github 上还有一个项目,它可以调用NWebsecNWebsec允许您配置相当多的安全标头,其中一些对大多数应用程序有用,而另一些则更加专业。这是项目链接: NWebsec 入门