nginx - 怎么判斷網(wǎng)站使用那種語言開發(fā)的后臺?
問題描述
如題:怎么判斷網(wǎng)站使用那種語言開發(fā)的后臺?
問題解答
回答1:謝謝 @精英王子 提到了我的項目:https://github.com/justjavac/ChromeSnifferPlus 感興趣的可以直接去查看源碼。
1. 根據(jù) meta 信息判斷不少的網(wǎng)站會在 meta 添加框架的信息,比如 Joomla、XOOPS、MediaWiki 會添加 generator;phpBB 會添加 copyright;Avactis 會添加 author。通過這些可以探測網(wǎng)站使用的建站系統(tǒng),從而知道使用的語言。
2. 根據(jù) script 標簽判斷和上面的一樣,探測網(wǎng)站使用的建站系統(tǒng),從而知道使用的語言。
3. 根據(jù) header 信息通過 header 信息的 x-powered-by 等可以探測后臺使用的語言
4. 根據(jù) session根據(jù)傳遞 session id 的 cookie,比如 PHP 使用的會話ID是 PHPSESSID,JSP 使用的會話 ID 是 JSESSION。
5. 根據(jù) error page通過 error page 也可以看到很多信息。比如訂票網(wǎng)站就是 Java 開發(fā)的。
6. 根據(jù)目錄結(jié)構(gòu)包括 url 的結(jié)構(gòu),靜態(tài)文件的結(jié)構(gòu)等,如果使用了開發(fā)框架或者 CMS 系統(tǒng),這些目錄結(jié)構(gòu)都有一定的規(guī)則。
7. 根據(jù)網(wǎng)頁內(nèi)容可以用正則去匹配 HTML 代碼,找出 copyright、powered by,進而得知使用的語言。
8. 根據(jù) server通過 404 或者 header 信息,得出 server 信息,進而得知編程語言,比如 nodejs、tomcat等。
回答2:這個是個比較復雜的問題。
根據(jù) url 判斷對于 url 有后綴的來說,再簡單不過了,.php 的自然是 php 開發(fā)的,asp, aspx 一樣的道理,當然還有比如 .action .do 什么的,一般都是 java
根據(jù)靜態(tài)文件結(jié)構(gòu)來看這個不同的開發(fā)框架差異還是比較大的,比如 rails 會將 js 壓縮成 application-7fds7afds98afdsa8.js 類似的樣子, django 等框架也有自己的命名規(guī)則。
根據(jù)出錯頁面有些比較二的頁面,你在頁面上胡亂整下,故意做些錯誤的提交,也許會冒出來報錯頁面,上面可能會有你要的東西(不過會有這種情況的網(wǎng)站,參考價值也不大)
根據(jù)聲明看 footer 里面的 powerd by ,如果是使用現(xiàn)在工具搭建的網(wǎng)站,會有比如 powerd by wordpress, powered by django 之類的吧。
根據(jù)網(wǎng)站的招騁如果該網(wǎng)站有招騁的欄目,看看他們在招什么樣的開發(fā)人員,也能猜出一二。
回答3:傳送門: BuiltWith on Chrome Webstore
https://github.com/justjavac/ChromeSnifferPlus
回答5:有時候在Response Header中有項X-Powered-By,可以看到開發(fā)語言。
理論上你不可能百分百正確地通過客戶端與服務端后臺的交互來判斷出后臺的開發(fā)語言, 因為語言的圖靈等價, 另外一種不同的語言也可以開發(fā)出表現(xiàn)一樣的后臺出來. 可以向這個后臺的相關(guān)人打聽他們使用的語言.對于一些語言的網(wǎng)絡框架, 也可以通過抓取 HTTP 數(shù)據(jù)流, 根據(jù) HTTP 首部字段 server 來判斷使用了什么框架, 進而判斷出使用了什么語言.
回答7:補充一個。有時候看他們公司在招聘什么工程師就可以判斷他們產(chǎn)品是什么語言開發(fā)的了。
回答8:提一條 可以看后綴比如xxx.php,那就可能是php的,不過不準,這個是可以改的
回答9:這個很難全部都準確的得到結(jié)果吧,無論是URL還是任何東西都可以改變,只是說可以根據(jù)經(jīng)驗大概猜測一下,當然沒有做任何處理的,比如 xx.php 是可以知道的。。
回答10:我以前都是看表單的action,不過現(xiàn)在的網(wǎng)站都聰明了
相關(guān)文章:
