2009-10-05 32 views
1

通常,Web应用程序可以呈现任何它喜欢的HTML。因此,理论上,任何语言都可以呈现相同的HTML输出。我们如何知道用什么语言/技术来呈现HTML文档?

不过,也有一些方法,我们可以尝试推断出正在运行的服务器端。例如,文件扩展名通常是一个死的赠品(尽管它们在技术上可能是伪造的)。由于我与ASP.NET的经验,我知道我们可以找出ASP.NET应用程序的一种方式是通过渲染文档中VIEWSTATE的存在,虽然缺少视图状态并不一定意味着该应用程序是运行在ASP.NET

我们可以在服务器上运行某些OS /服务器的指纹,但普遍认为不会太大帮助 - 这些天,甚至是Windows服务器可以运行相当多的应用平台。

什么其他的分析技术是可用,可以帮助我们确定是什么在服务器上运行?某些语言还有哪些其他线索?

如果我们能更好地了解我们的应用程序都离开了,也许是如此之小,我们并没有发现他们的文物,我们就可以开始通过从输出移除他们更好地我们的安全。

+3

这不仅是重复的,我不认为它与编程相关或甚至通常有用。 –

+1

如果你能指出重复,我会很乐意关闭这个问题。我找不到任何东西。 – JoshJordan

+0

我不会投票结束@JJ,因为它至少与预编制有关,但我很努力地想知道为什么你甚至在乎关于HTML生成的语言/技术。也许你可以启发我们的有用性。并不是说你必须证明你的问题是正确的,我只是对可能的应用感兴趣。 – paxdiablo

回答

0

在HTTP报头,你会(通常,但不总是)找到一个名为Server头,指示用于服务器的网页的Web服务器。有时你会发现一个名为X-Powered-By的标题,表示Web服务器使用的平台/技术。

2

检查HTTP头是一个好的开始。 默认情况下,IIS6和ASP.Net似乎插入了一个带有ASP.Net的X-Powered-By Header作为值。

0

https://addons.mozilla.org/en-US/firefox/addon/2166

正如其他人所提到的,您可以签出ServerX-Powered-By头。例如,stackoverflow的服务器是Server: Microsoft-IIS/7.0,所以我可以推断这是ASP供电。

这里有一些随机的网站,我访问了一些X供电,通过头:

  • X-Powered-By: PHP/5.2.9。 (PHP论坛)
  • X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 2.0.3(rubyonrails.org)

其他Web应用程序必须在页脚中的签名可以看出,如技术,通过(应用程序名称)。

相关问题