The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

介紹好用網站:UserAgentString.com

每個瀏覽器都會送出不同的 User-Agent 標頭(HTTP Header),當在開發網站時有時為了依據不同的瀏覽器來提供不同的服務時,都會特別寫程式比對瀏覽器的種類與版本,這簡單的判斷在 ASP.NET 或 jQuery 都已經有現成的物件可用,不需特別去查表,但有時我會想查詢這瀏覽器的各版本到底用了哪些字串表示,我就會上這個 UserAgentString.com 網站查詢。

... 繼續閱讀 ...

如何辨識使用者從瀏覽器按下 F5 或 Ctrl + R 重新整理頁面

有時候有些頁面有計數器或者有些程式碼只需要讓使用者執行一遍而已,我們會不希望使用者拼命用 F5 或 Ctrl + R 重新整理頁面時擾亂程式的運作,要達成這個需求其實有很多作法,例如透過一個 Cookie、一個 Session 來做判斷,但今天我要分享一個暗黑密記,教你如何從 HTTP Request Header 就可以判斷出使用者正在執行該頁面的重新整理。

... 繼續閱讀 ...

網頁開發人員應對 URL 的大小寫「有感覺」!

我以前混 Linux 的時候就對檔名的大小寫很注意,因為一個英文字母的大小寫搞錯就會都找不到網頁,之後雖然改混 Windows 也沒丟掉之前的習慣,雖然 NTFS 檔案系統或 IIS 在處理 URL 時預設不會特別區分大小寫,打錯大小寫依然找的到網頁,但不管是網址還是檔名,我對大小寫還是很龜毛,看到別人亂取檔名或 URL 大小寫與檔案大小寫不同時也多少也會唸一下,我還曾經被譏笑太無聊,不過今天我就要證明我的堅持是對的!

... 繼續閱讀 ...

善用 Response.IsClientConnected 避免不必要的資源浪費

你在使用網站時不知道有沒有一種經驗是當你按下某一個連結或一個表單按鈕時,突然發現你按錯了,然後你會立即按下 ESC 鍵或按下瀏覽器的停止按鈕中斷網頁執行?我以前就曾經遇到過好幾次這種狀況,而且有些網頁程式執行時間非常長且非常消耗系統資源,例如:匯出幾十萬筆資料、對大量資料進行彙總運算、從伺服器端執行一個長時間的 Web Service 查詢、…等等,雖然使用者很「直覺」的中斷執行,但是伺服器端的程式卻還是會在背景乖乖的把所有的工作做完才會罷手。

... 繼續閱讀 ...

設定 Cookie 時可善用 HttpOnly 特性減低網站安全風險(XSS)

Cookie hijacking 是個很常見的 XSS 攻擊手法,大多是利用網站既有的 XSS 漏洞並透過 JavaScript 取得 documnet.cookie 資料,而 documnet.cookie 就包含所有你在該網頁所有可用的 Cookie 資料,但若你的網站程式在設定 Cookie 的時候有特別加上 HttpOnly 屬性,就可以進一步避免該頁的 Cookie 被 JavaScript 存取,也可保護使用者的 Cookie 不會偷走。

... 繼續閱讀 ...

提升 SQL SERVER 執行效率的小技巧:為 SQL 快取暖身

SQL Server 的效能調校是一門很大的學問,先不論 T-SQL 寫的好與壞如何衝擊效能,我們先假設 T-SQL 已經全部都調到最佳狀態(或是根本無法調整),在這種情境下如何再提升執行效能呢,答案還是非常多,例如:調整磁碟效能、加記憶體、….等,但我今天想特別強調的是 快取 (Caching)。今天我來分享一個非常實用且簡單的伎倆,讓你的應用程式一瞬間即可加快查詢速度。

... 繼續閱讀 ...

PHP 如何排序二維陣列 [第1維:陣列,第2維:關聯式陣列]

已經好久沒寫 PHP 了,今天為了維護一個五年前開發的案子,客戶要求將一個畫面的資料進行排序,但這種二維陣列(第一層一般陣列第二層關聯式陣列)的排序之前好像沒做過(有做過也該忘了),想了一些時間終於寫出來,特別寫起來備忘一下。

... 繼續閱讀 ...

介紹好用工具:Web Deployment Tool 1.0 ( 附心得筆記 )

又一個佛心來的工具 Web Deployment Tools,這套工具除了提供基本的 GUI 介面可供站台匯入、匯出外 (如下圖),還提供指令列工具 ( MSDeploy.exe ) 可供 Web Farm 站台間檔案自動同步,可有效簡化多台 IIS 主機站台檔案更新與同步的問題,這對我們在 Web Farm 環境的部署非常實用。不僅僅支援 IIS 7,Web Deployment Tools 還支援 IIS 6 站台的同步,有興趣的人可以試試看。

... 繼續閱讀 ...