看板 Web_Design 關於我們 聯絡資訊
花了點時間,寫了個縮網址的網站 http://f23.tw/ 雖然已經有0rz、ppt、is.gd、goo.gl、tinyurl這麼一堆的縮網址網站 但看起來好像很簡單的樣子 就想寫一個來玩玩看,當作練功 然後我試了之後發現..... 其實也真的不難,雖然有遇到一些障礙 但還在稍微花點力氣就可以解決的範圍之類 (Rewriterule、並行之類的) 就是需要花時間去做就是了 簡單的來介紹一些與其他縮網址不同的功能: 1.支援自訂義短網址:你可以為自己的短網址命名,例如說…. http://f23.tw/介紹 你可以選擇為短網址命名,而不是由程式自動產生流水字串,你也可以用中文或是日文 等其他語言為短網址命名,不過這些非英文文字將被轉換URL邊碼 2.提供保留副檔名的功能 舉例來說,當你貼了一張圖之後,你可以讓網址看起來像是這樣 http://f23.tw/FFFF.jpg
當然,原本的 http://f23.tw/FFFF 也是可以使用的 3.提供詳細的流量統計,以及使用者追蹤 如範例頁面 http://f23.tw/介紹/u (網址後加 /u 為使用者追蹤) http://f23.tw/介紹/i (網址後加 /i 為點擊統計) ================================================= 題外話,不知道正在看文章的你有沒有在使用噗浪? 其實噗浪是我完成這個網站的最大動力..... 噗浪有個特性,使用者河道的網址是長這樣 http://www.plurk.com/DoTaMoonNight 後面那一串就是使用者的ID,一般而言,都是使用者本人 就是,我常常在看自己網站的記錄的時候 看見一串來自 http://www.plurk.com/XXXXX 之類的referer 點下去就可以看到是誰點噗浪上的連結,連到我的網站 另外一點,就是當使用者貼圖片 也就是網址後面有.jpg .gif之類的網址的時候 噗浪會很自動的把它包進<img>標籤裡面 然後,當使用者開啟河道的時候,圖片自然而然就被開起來了 ........ ..... ... 慢著,在這邊好像有點怪怪的 不覺得好像有點問題嗎? 1. 當使用者點連結的時候,連結上會夾帶使用者訊息 2. 當使用者打開河道,會自動連結圖片 1+2 不就是「我放個圖片連結上去,就可以知道噗浪上的誰在什麼時候上線」了嗎? 還記的有時候收到e-mail,軟體都會問「要不要打開圖片」吧? 那就是為了防止被別人使用類似的方式,來判斷e-amil是否有效 雖然我覺得噗浪這樣,並不算是多重大的洩漏隱私的BUG或漏洞 但總覺得這樣蠻有趣的 所以,就做了這樣一個網站 也就是說你只要照著下面的步驟做,就可以知道在你的朋友或是粉絲中 「誰」,「在什麼時候」,打開(或刷新)河道,看見你貼的圖片 1.找張圖片的網址 2.用f23.tw縮網址 並開啟「使用統計流量功能」「紀錄瀏覽者的詳細資料」這兩項 3.貼到噗浪上,記得網址後要加上 .jpg 之類的 4.打開 f23.tw/XXXXX/u 的頁面,然後掛著 好了,接下來每隔十幾二十秒,頁面就會自動刷新,幫你把點擊網址的人找出來了 仔細看「來源網站」那一項,如果是 www.plurk.com 的話,就是噗浪的使用者 你可以右邊的搜尋欄打上 plurk 這樣就只會顯示來自噗浪的訪客 -- ◢ 鄉民啊!鄉民! 請告訴我誰是最純潔的人! ◢█ │ PTT │ ██ 鄉:就是你! F23ko! │ █◤ ╯ ◤ ﹨(╯▽╰ )∕ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.35.18.75
wannawanna:推 不過自訂短網址應該會很容易衝突? 10/07 20:14
※ 編輯: F23ko 來自: 114.35.18.75 (10/07 20:51)
F23ko:自訂義短網址就是看看誰先搶先贏了 10/07 20:51
danny8376:純粹好奇... nginx有沒有開cache呢OWO? 10/08 02:09
danny8376:雖然現階段是不會發生 也不一定會發生 10/08 02:10
danny8376:不過要是流量大的話 這種近乎靜態的內容每次都要解析PHP 10/08 02:10
danny8376:PHP可以把記憶體吃到炸掉的www 10/08 02:10
F23ko:catche只有針對圖片跟js那些東西開而已,PHP的我還在研究中 10/08 02:15
F23ko:我幾天前才第一次碰nginx的啊... XD 10/08 02:16
F23ko:不對,不能開cache,因為每個php會把造訪者的資料給log下來 10/08 02:22
F23ko:我記得fast cgi好像不會每次都解析php的樣子,可能會好一點 10/08 02:23
F23ko:說到 nginx.. 把APACHE換成nginx的時候,rewriterule要改寫 10/08 02:24
F23ko:好多地方orz.... 10/08 02:25
danny8376:對齁 忘了有造訪紀錄XD 不過解析效率不是問題 10/08 03:53
danny8376:主要問題在於PHP是很可怕的memory hungry啊www 10/08 03:54
danny8376:PHP最基本執行就快1M的記憶體了www 10/08 03:59
danny8376:想玩的話可以搭cache 然後nginx寫lua 10/08 04:02
danny8376:從unix socket送dgram給另外的後端做統計? 10/08 04:03
danny8376:(好像跳太多了XDD 用C++掛lib寫fastcgi應該也不錯?) 10/08 04:04
danny8376:不過這也是1k req/min之類的附載才有可能要考慮啦XDD 10/08 04:05
danny8376:是說nginx的rewrite不難寫啊 有需要還可以直接寫if 10/08 04:06
danny8376:相當程度上比apache設定來得直觀www 10/08 04:07
danny8376:比起rewrite而言 倒是萬惡的.htacess 10/08 04:08
danny8376:害我改成nginx的時候到處找檔案 合併到conf裡面... 10/08 04:08
danny8376:還有XSS的測試耶XDD 10/08 04:18
hit1205:副檔名很實用 XD 有些地方沒副檔名就沒預覽塗了... 10/08 06:32
hit1205:噗浪和 Web PTT 都是 10/08 06:33
hit1205: 圖 10/08 06:33
danny8376:支援副檔名真的是很實用www 10/08 07:14
NaoGaTsu:超有意思! 10/09 19:13
kovenkoven:副檔名的功能似乎是抓第一個.之後的字串都過濾掉? 10/11 14:57
差不多了 ngine 那邊是這樣寫的 無命令的狀況 location ~ "^/[^/\.]{3,}(\.[A-Za-z0-9]*)?/?$" 有命令的狀況 (後面加上 /v /d /i /u ) 之類的 location ~ "^/[^/\.]{3,}(\.[A-Za-z0-9]*)?/[A-Za-z0-9]+" 所以,要把 html 假裝成 jpg 也是OK的 ※ 編輯: F23ko 來自: 114.35.18.75 (10/11 15:27)