如題:怎麼判斷網站使用那種語言開發的後台?
謝謝 @精英王子 提到了我的專案:https://github.com/justjavac/ChromeSnifferPlus 有興趣的可以直接去查看原始碼。
不少的網站會在 meta 添加框架的信息,例如 Joomla、XOOPS、MediaWiki 會添加 generator;phpBB 會添加 copyright;Avactis 會添加 author。透過這些可以探測網站使用的網站系統,從而知道使用的語言。
和上面的一樣,探測網站使用的建站系統,從而知道使用的語言。
透過 header 訊息的 x-powered-by 等可以偵測後台使用的語言
根據傳遞 session id 的 cookie,例如 PHP 使用的會話ID是 PHPSESSID,JSP 使用的會話 ID 是 JSESSION。
透過 error page 也可以看到很多資訊。例如訂票網站就是 Java 開發的。
包含 url 的結構,靜態檔案的結構等,如果使用了開發框架或 CMS 系統,這些目錄結構都有一定的規則。
可以用正規去匹配 HTML 程式碼,找出 copyright、powered by,進而得知使用的語言。
透過 404 或 header 訊息,得出 server 訊息,進而得知程式語言,如 nodejs、tomcat等。
這個是個比較複雜的問題。
對於 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
有時候在Response Header中有項X-Powered-By,可以看到開發語言。
理論上你不可能百分百正確地透過客戶端與服務端後台的交互來判斷出後台的開發語言, 因為語言的圖靈等價, 另外一種不同的語言也可以開發出表現一樣的後台出來. 可以向這個後台的相關人打聽他們使用的語言. 對於一些語言的網頁框架, 也可以透過抓取 HTTP 資料流, 根據 HTTP 首部欄位 server 來判斷使用了什麼框架, 進而判斷出使用了什麼語言.
補充一個。 有時候看他們公司在招募什麼工程師就可以判斷他們產品是什麼語言開發的了。
提一條 可以看後綴例如xxx.php,那就可能是php的,不過不準,這個是可以改的
這個很難全部都準確的得到結果吧,無論是URL還是任何東西都可以改變,只是說可以根據經驗大概猜測一下,當然沒有做任何處理的,比如 xx.php 是可以知道的。 。
我以前都是看表單的action,不過現在的網站都聰明了
謝謝 @精英王子 提到了我的專案: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
有時候在Response Header中有項X-Powered-By,可以看到開發語言。
理論上你不可能百分百正確地透過客戶端與服務端後台的交互來判斷出後台的開發語言, 因為語言的圖靈等價, 另外一種不同的語言也可以開發出表現一樣的後台出來. 可以向這個後台的相關人打聽他們使用的語言.
對於一些語言的網頁框架, 也可以透過抓取 HTTP 資料流, 根據 HTTP 首部欄位 server 來判斷使用了什麼框架, 進而判斷出使用了什麼語言.
補充一個。
有時候看他們公司在招募什麼工程師就可以判斷他們產品是什麼語言開發的了。
提一條 可以看後綴例如xxx.php,那就可能是php的,不過不準,這個是可以改的
這個很難全部都準確的得到結果吧,無論是URL還是任何東西都可以改變,只是說可以根據經驗大概猜測一下,當然沒有做任何處理的,比如 xx.php 是可以知道的。 。
我以前都是看表單的action,不過現在的網站都聰明了