基於挖洞法的網頁資訊剖析法

1,986 views

Published on

Published in: Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,986
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

基於挖洞法的網頁資訊剖析法

  1. 1. 給我美女照 其餘免談 Qing [email_address] http://twitter.com/qing_wang
  2. 2. 為什麼需要剖析網頁資訊 (1/2) <ul><li>網站上時常有許多有用(或好看)的公開資訊,例如: </li></ul><ul><ul><li>新聞 </li></ul></ul><ul><ul><li>公開資訊觀測站 </li></ul></ul><ul><ul><li>原物料行情 </li></ul></ul><ul><ul><li>專利 </li></ul></ul><ul><ul><li>公司登記資訊(商業司) </li></ul></ul><ul><ul><li>正妹! </li></ul></ul>
  3. 3. 為什麼需要剖析網頁資訊 (2/2) <ul><li>HTML 是非結構性的,但我們要的通常是結構性的資料 </li></ul><ul><ul><li><html> </li></ul></ul><ul><ul><li>… . </li></ul></ul><ul><ul><li><img src=“ 正妹的照片 .jpg ”> </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><ul><li></html> </li></ul></ul>我們只要正妹的照片
  4. 4. 從非結構到結構 <html> … .. .. .. .. </html> 正妹的 ID 正妹的大頭照 正妹的生日 正妹的星座 正妹的電話 正妹的朋友 1 正妹的朋友 2 … 正妹的朋友 n
  5. 5. 其他剖析的方法 <ul><li>寫程式硬幹 </li></ul><ul><li>regular expression </li></ul>
  6. 6. 何謂挖洞法 <html> … 正妹的 ID... … … 正妹的大頭照 .. .. .. </html> 一種像是自古代流傳的密碼傳遞方式 正妹的 ID 正妹的大頭照
  7. 7. 利用模版挖洞 (1/3) <html> .. .. <img id='DisplayImage' src=' http://f7.wretch.yimg.com/yeanhan/5/1505781711.jpg ‘ border=0 alt=' 下一張 ( 熱鍵 :c)' /></a>… .. </html>
  8. 8. 利用模版挖洞 (2/3) <%IGNORE%> <img id='DisplayImage' src=‘ <%PHOTO_URL%> ‘ border=0 alt=' 下一張 ( 熱鍵 :c)' /></a> <%IGNORE%> PHOTO_URL=http://f7.wretch.yimg.com/yeanhan/5/1505781711.jpg
  9. 9. 利用模版挖洞 (3/3) HTML Name:Value Name:Value Name:Value Name:Value
  10. 10. DFS HrefNextLayer HrefNextLayer PHOTO_URL 0 1 4 7 2 3 6 5 8 9
  11. 11. DFS 0 1 4 7 2 3 6 5 8 9 HrefNextLayer HrefNextLayer PHOTO_URL HrefLoopback
  12. 12. 設定,不寫程式 <ul><li>設定啟始位址 </li></ul><ul><li>設定所需每一層的模版 </li></ul>all_albums.mask all_thumbs.mask 0 1 4 7 2 4 8 6 10 12 3 5 7 9 11 13 show_photo.mask
  13. 13. Example (1/2) <ul><li>設定啟始位址 </li></ul><ul><ul><li>http:// www.wretch.cc/album/yeanhan </li></ul></ul><ul><li>Layer 1 parsing </li></ul><ul><ul><li>/album.php?id=yeanhan&amp;book=5 </li></ul></ul><ul><ul><li>/album.php?id=yeanhan&amp;book=4 </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><li>Layer 2 parsing </li></ul><ul><ul><li>http://www.wretch.cc/album/show.php?i=yeanhan&b=15&f=1447605847&p=0 </li></ul></ul><ul><ul><li>http://www.wretch.cc/album/show.php?i=yeanhan&b=15&f=1447605848&p=1 </li></ul></ul><ul><ul><li>.. </li></ul></ul>
  14. 14. Example (2/2) <ul><li>Layer 3 parsing </li></ul><ul><ul><li>http://f7.wretch.yimg.com/yeanhan/15/1447605847.jpg </li></ul></ul><ul><ul><li>http://f7.wretch.yimg.com/yeanhan/15/1447605848.jpg </li></ul></ul><ul><ul><li>… </li></ul></ul>
  15. 15. 進階 <ul><li>定義每一層的 processor </li></ul><ul><li>每 parse 完某一層的 name value pairs 後,可執行自訂的 processor class </li></ul><ul><ul><li>例如 InsertDBProcessor 可將資料新增至資料庫 </li></ul></ul><ul><ul><ul><li><className> InsertDBProcessor</className> </li></ul></ul></ul><ul><ul><ul><li><statement>INSERT into GirlInfo(id, name, phone) values($GIRL_ID, $GIRL_NAME, $GIRL_PHONE)</statement> </li></ul></ul></ul>
  16. 16. funP.com 徵人啟事 <ul><li>funP.com 徵資深軟體工程師 </li></ul><ul><ul><li>會 PHP 、並精通 PHP 或 JAVA </li></ul></ul><ul><ul><li>熟 Web Programming 觀念 </li></ul></ul><ul><ul><li>工作地點 </li></ul></ul><ul><ul><ul><li>新竹科學園區 </li></ul></ul></ul><ul><ul><li>待遇比照園區水準並有股票選擇權 </li></ul></ul><ul><ul><li>有興趣者請與 </li></ul></ul><ul><ul><ul><li>[email_address] 連絡 </li></ul></ul></ul>

×