[Chrome] 利用 Wappalyzer 查看站点所使用的技术Mon Sep 11 2017

Wappalyzer 是一个可以用于检测站点使用技术的扩展插件。 最初它只是一个Chrome下的扩展插件,不过它现在除了扩展,还有终端工具。 对于开发人员来说,这个插件非常好用,有益于扩展知识面,同时可以接触到更多到技术框架.

Wappalyzer 主页

比如我们访问知乎的时候, 就可以看到知乎的前端技术框架使用了 React + Webpack 的组合

zhihutag

又例如我们查看豆瓣FM所使用的技术框架:很显然,使用Backbone+Underscore+Webpack的组合

doubantag

某些时候,如果一个Web站点后台没有做任何转发或者头信息修改,很容易会被探测出是某种框架,例如Nginx, Flask, Django 等等. 对于服务器来说并不是一个很安全的做法.


防止Wappalyzer的嗅探

1.服务器层面,使用Nginx这样的反向代理做转发, 需要修改http头信息,例如

http res

使用Nginx作转发之后,Wapplyzer 就无法探测出后台所使用的框架了。

2.通过修改文件引用名称

当我们使用某些资源的时候,有时候通过名称就能反应到所使用的框架,当然这里指的不单单只是文件名称,例如一些全局变量, Module , Require 等之类的名次很容易被嗅探出来,这样的话就需要我们做一些特殊处理,CSS中的一些图标字体的引用,如果你不想被嗅探出来,可以更改 @font-face 中引用后台的字体名称,这样就可以防止其嗅探.

3. 判断错误

这个插件并不是说特别的智能,很多仿体框架也会被识别错误,例如前端使用Javascript 仿造了一个jQuery的框架,也很有可能会被识别成是jQuery, 不过这个插件,在很大程度上来说是正确的. 不过相信以后嗅探方面会变得越来越困难.

当然 如果有更加好的开发者插件,欢迎讨论分享.