作者F23ko ( http://f23ko.com )
看板Web_Design
標題[閒聊] f23.tw 縮網址
時間Mon Oct 7 19:54:02 2013
花了點時間,寫了個縮網址的網站
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
1F:推 wannawanna:推 不過自訂短網址應該會很容易衝突? 10/07 20:14
※ 編輯: F23ko 來自: 114.35.18.75 (10/07 20:51)
2F:→ F23ko:自訂義短網址就是看看誰先搶先贏了 10/07 20:51
3F:→ danny8376:純粹好奇... nginx有沒有開cache呢OWO? 10/08 02:09
4F:→ danny8376:雖然現階段是不會發生 也不一定會發生 10/08 02:10
5F:→ danny8376:不過要是流量大的話 這種近乎靜態的內容每次都要解析PHP 10/08 02:10
6F:→ danny8376:PHP可以把記憶體吃到炸掉的www 10/08 02:10
7F:→ F23ko:catche只有針對圖片跟js那些東西開而已,PHP的我還在研究中 10/08 02:15
8F:→ F23ko:我幾天前才第一次碰nginx的啊... XD 10/08 02:16
9F:→ F23ko:不對,不能開cache,因為每個php會把造訪者的資料給log下來 10/08 02:22
10F:→ F23ko:我記得fast cgi好像不會每次都解析php的樣子,可能會好一點 10/08 02:23
11F:→ F23ko:說到 nginx.. 把APACHE換成nginx的時候,rewriterule要改寫 10/08 02:24
12F:→ F23ko:好多地方orz.... 10/08 02:25
13F:→ danny8376:對齁 忘了有造訪紀錄XD 不過解析效率不是問題 10/08 03:53
14F:→ danny8376:主要問題在於PHP是很可怕的memory hungry啊www 10/08 03:54
15F:→ danny8376:PHP最基本執行就快1M的記憶體了www 10/08 03:59
16F:→ danny8376:想玩的話可以搭cache 然後nginx寫lua 10/08 04:02
17F:→ danny8376:從unix socket送dgram給另外的後端做統計? 10/08 04:03
18F:→ danny8376:(好像跳太多了XDD 用C++掛lib寫fastcgi應該也不錯?) 10/08 04:04
19F:→ danny8376:不過這也是1k req/min之類的附載才有可能要考慮啦XDD 10/08 04:05
20F:→ danny8376:是說nginx的rewrite不難寫啊 有需要還可以直接寫if 10/08 04:06
21F:→ danny8376:相當程度上比apache設定來得直觀www 10/08 04:07
22F:→ danny8376:比起rewrite而言 倒是萬惡的.htacess 10/08 04:08
23F:→ danny8376:害我改成nginx的時候到處找檔案 合併到conf裡面... 10/08 04:08
24F:→ danny8376:還有XSS的測試耶XDD 10/08 04:18
25F:推 hit1205:副檔名很實用 XD 有些地方沒副檔名就沒預覽塗了... 10/08 06:32
26F:→ hit1205:噗浪和 Web PTT 都是 10/08 06:33
27F:→ hit1205: 圖 10/08 06:33
28F:推 danny8376:支援副檔名真的是很實用www 10/08 07:14
29F:推 NaoGaTsu:超有意思! 10/09 19:13
30F:→ 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)