GDWeb

GDWeb - GD Web Server

使用GD Graphics Library與SWS底層功能作成的Web Server,可提供自主的防垃圾圖形驗證設計,
只須程式Run起來,在Server端只要有支援XMLHttpRequest就可以設計極簡單的之Code開始應用

以瀏覽器 IE 與 Server IIS 為例, 說明工作原理

IE --> ASP
瀏覽到一個需輸入驗證的頁面

ASP --> GDWeb
使用 XMLHttpRequest 元件以授權帳號要求 GDWeb 產生一組對應

ASP <-- GDWeb
回應一個 key 與 驗證所需內容 (對ASP而言驗證內容其實不需用到, 以MIS的角度想, 也許可設計洩密功能吧! 當然也有可能是自動化的需求)

ASP --> IE
使用 key 產生於瀏覽端所需的 image 位址於頁面內容中,回應給IE

IE <-- GDWeb
依據 key 產生的 image 位址,以圖形顯示出內含有驗證所需之內容

IE --> ASP
用戶根據圖形顯示,輸入驗證碼於對應表格欄位中傳回,表格默認將 key 一併傳回

ASP --> GDWeb
將用戶傳回之驗證碼與 key 透過 XMLHttpRequest 向 GDWeb 詢問正確與否

ASP <-- GDWeb
回應不正確則該對應仍持續保留,瀏覽器回上一頁仍可重複操作
回應正確則 GDWeb 同時銷毀此組已用畢之對應資料

ASP --> IE
如果 GDWeb 回應正確, 則將表格要求之訊息處理接受
依據 GDWeb 回應, 反應正確動作給 IE 用戶

GDWeb 原則
1. 產生之對應 生命期為30分鐘, 如果一直沒有驗證要求回來, 該對應會於生命期結束後銷毀
2. 只要對應存在, 可於任何位置依據 key 要求 GDWeb 輸出圖檔內容
3. 如果對應不存在, 或是任何錯誤要求, 一律回應 HTTP 404 (其他系統有的回應 403, 但不論為何沒有什麼大影響)
4. 要求產生對應之機制可於LOCAL或LAN中進行, 但也可於WAN中進行, 系統有設計權限機制供應用需求
5. 若有需要,也可於輸入驗證的頁面中,以Iframe的方式加入一個GDWeb支援的維持運作Url,持續延長該對應之生命期
    以下例ASP示範如: <iframe src=<%=GdAvertUrl%>/upd/?<%=GDkey%> width=0 height=0>
6. 整個運作的模式設計,能讓瀏覽器端皆不須Script的支持即可運行

顯示範例

ASP範例, 一般來說會改到 設定/顯示/驗證 三個地方

外傳
各大部落格有空請參酌一下,上面的Code表示,如果已登入為管理員則不須被此驗證機制檢驗,
被罵豬頭不是沒原因的,為何已登入且在自己的部落裏回覆或留言還要驗證阿?!!!!

還曾經發現某些站(包括銀行)的某些功能裏的驗證碼是看網頁原始碼就找得到的狀況,
據說驗證碼最大的功用是在防堵機器人, 那這類情形根本就是作假的, 實在是誇張到不行阿!

是否常有熱心上網站留言,
一按送出卻因為驗證碼已經過期導致留言又要重來或者乾脆放棄了的惱人經驗呢?
因為所有的網站驗證碼都沒有作前述GDWeb原則第5.說明,
這絕對不是因為(他們謊稱的)安全問題只是技術能力不行而已...


註解