怎么判断网站使用那种语言开发的后台?

如题:怎么判断网站使用那种语言开发的后台?

阅读 31.4k
11 个回答

谢谢 @精英王子 提到了我的项目:https://github.com/justjavac/ChromeSnifferPlus 感兴趣的可以直接去查看源码。

1. 根据 meta 信息判断

不少的网站会在 meta 添加框架的信息,比如 Joomla、XOOPS、MediaWiki 会添加 generator;phpBB 会添加 copyright;Avactis 会添加 author。通过这些可以探测网站使用的建站系统,从而知道使用的语言。

2. 根据 script 标签判断

和上面的一样,探测网站使用的建站系统,从而知道使用的语言。

3. 根据 header 信息

通过 header 信息的 x-powered-by 等可以探测后台使用的语言

4. 根据 session

根据传递 session id 的 cookie,比如 PHP 使用的会话ID是 PHPSESSID,JSP 使用的会话 ID 是 JSESSION。

5. 根据 error page

通过 error page 也可以看到很多信息。比如订票网站就是 Java 开发的。

6. 根据目录结构

包括 url 的结构,静态文件的结构等,如果使用了开发框架或者 CMS 系统,这些目录结构都有一定的规则。

7. 根据网页内容

可以用正则去匹配 HTML 代码,找出 copyright、powered by,进而得知使用的语言。

8. 根据 server

通过 404 或者 header 信息,得出 server 信息,进而得知编程语言,比如 nodejs、tomcat等。

这个是个比较复杂的问题。

根据 url 判断

对于 url 有后缀的来说,再简单不过了,.php 的自然是 php 开发的,asp, aspx 一样的道理,当然还有比如 .action .do 什么的,一般都是 java

根据静态文件结构来看

这个不同的开发框架差异还是比较大的,比如 rails 会将 js 压缩成 application-7fds7afds98afdsa8.js 类似的样子, django 等框架也有自己的命名规则。

根据出错页面

有些比较二的页面,你在页面上胡乱整下,故意做些错误的提交,也许会冒出来报错页面,上面可能会有你要的东西(不过会有这种情况的网站,参考价值也不大)

根据声明

看 footer 里面的 powerd by ,如果是使用现在工具搭建的网站,会有比如 powerd by wordpress, powered by django 之类的吧。

根据网站的招骋

如果该网站有招骋的栏目,看看他们在招什么样的开发人员,也能猜出一二。

有时候在Response Header中有项X-Powered-By,可以看到开发语言。

截图

理论上你不可能百分百正确地通过客户端与服务端后台的交互来判断出后台的开发语言, 因为语言的图灵等价, 另外一种不同的语言也可以开发出表现一样的后台出来. 可以向这个后台的相关人打听他们使用的语言.
对于一些语言的网络框架, 也可以通过抓取 HTTP 数据流, 根据 HTTP 首部字段 server 来判断使用了什么框架, 进而判断出使用了什么语言.

补充一个。
有时候看他们公司在招聘什么工程师就可以判断他们产品是什么语言开发的了。

提一条 可以看后缀比如xxx.php,那就可能是php的,不过不准,这个是可以改的

这个很难全部都准确的得到结果吧,无论是URL还是任何东西都可以改变,只是说可以根据经验大概猜测一下,当然没有做任何处理的,比如 xx.php 是可以知道的。。

我以前都是看表单的action,不过现在的网站都聪明了

可以去查看网站服务器的支持,可以大致猜到是什么语言。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏