The Will Will Web

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

利用 WebClient 類別模擬 HTTP POST 表單送出的注意事項

我們都知道 WebClient 類別是個簡單易用的東西,不只可以用作 HTTP 用途,連 FTP 都能用,想偷懶時很快就能寫出一些網路資料上傳、下載的程式,像我在寫一些測試程式時經常會使用 WebClient 類別,但大多情況都用來「下載網頁」居多,少有模擬表單上傳資料的情況,但利用 WebClient 類別在「傳送表單資料」時要小心使用,否則遠端接不到資料又很難除錯時哪就麻煩了。

... 繼續閱讀 ...

使用 Google Public DNS 服務,上網速度不一定會變快!

這幾天 Google Public DNS 被炒的火熱,漂亮的 IP 位址 ( 8.8.8.8 , 8.8.4.4 ) 被瘋狂的宣傳,連我也一頭熱的研究了一番,一開始覺得速度還挺快的,網路延遲時間也很短,我猜也許已經有人開始將個人電腦的 DNS 切換過去了,但對於 168.95.1.1 的琵琶別抱真的是好事嗎,以下些許淺見供參。

... 繼續閱讀 ...

如何自動取得所有前端 JavaScript 錯誤以提升網站品質

我們每個案子都會用許多錯誤追蹤的機制確保網站品質,但還是不時會讓客戶發現有些功能無法操作,而這些問題大多出在 JavaScript 錯誤,由於一些老舊的瀏覽器或不同瀏覽器特性不同的關係,難免會有不小心寫錯的時候,為了能有效追蹤這些不易察覺的錯誤,我們會利用 JavaScript 追蹤 JavaScript 錯誤!

... 繼續閱讀 ...

介紹好用網站: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 大小寫與檔案大小寫不同時也多少也會唸一下,我還曾經被譏笑太無聊,不過今天我就要證明我的堅持是對的!

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

介紹好用工具:IIS 6.0 Resource Kit Tools 與 TinyGet 工具

雖然之前就下載過 IIS 6.0 Resource Kit Tools 卻沒注意到有個好用的 TinyGet 工具,以前我要對網站做壓力測試都會用 ApacheBench (ab),但若要單純的做網站有效性測試卻不知道能用什麼工具。最近發現用 TinyGet 搭配 LogParser 進行驗證是個蠻不錯的解決方案,買不起 Visual Studio Team Suite 的人可以考慮用這個工具進行測試。

... 繼續閱讀 ...