如题:怎么判断网站使用那种语言开发的后台?
这个是个比较复杂的问题。
对于 url 有后缀的来说,再简单不过了,.php 的自然是 php 开发的,asp, aspx 一样的道理,当然还有比如 .action .do 什么的,一般都是 java
这个不同的开发框架差异还是比较大的,比如 rails 会将 js 压缩成 application-7fds7afds98afdsa8.js 类似的样子, django 等框架也有自己的命名规则。
有些比较二的页面,你在页面上胡乱整下,故意做些错误的提交,也许会冒出来报错页面,上面可能会有你要的东西(不过会有这种情况的网站,参考价值也不大)
看 footer 里面的 powerd by ,如果是使用现在工具搭建的网站,会有比如 powerd by wordpress, powered by django 之类的吧。
如果该网站有招骋的栏目,看看他们在招什么样的开发人员,也能猜出一二。
理论上你不可能百分百正确地通过客户端与服务端后台的交互来判断出后台的开发语言, 因为语言的图灵等价, 另外一种不同的语言也可以开发出表现一样的后台出来. 可以向这个后台的相关人打听他们使用的语言.
对于一些语言的网络框架, 也可以通过抓取 HTTP 数据流, 根据 HTTP 首部字段 server 来判断使用了什么框架, 进而判断出使用了什么语言.
8 回答3.6k 阅读
2 回答2.6k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
4 回答1.8k 阅读
1 回答1.4k 阅读✓ 已解决
1 回答993 阅读✓ 已解决
1 回答865 阅读✓ 已解决
谢谢 @精英王子 提到了我的项目: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等。