nginx - Wie kann festgestellt werden, welche Sprache die Website zum Entwickeln des Backends verwendet?
巴扎黑
巴扎黑 2017-05-16 17:03:58
0
11
1162

Frage: Wie kann festgestellt werden, welche Sprache die Website zur Entwicklung des Backends verwendet?

巴扎黑
巴扎黑

Antworte allen(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 之类的吧。

根据网站的招骋

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

習慣沉默

传送门: BuiltWith on Chrome Webstore

習慣沉默

https://github.com/justjavac/ChromeSnifferPlus

phpcn_u1582

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

世界只因有你

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

滿天的星座

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

洪涛

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

巴扎黑

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

左手右手慢动作

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage