自互聯網普及至今,大部分人都已習慣使用瀏覽器軟件於網上閱讀資料和搜尋資料,與此同時,有很多系統亦轉為能以瀏覽器軟件操作。當用戶在網頁上提供資料時,網頁內建的驗證程式便會檢查資料是否正確,有需要時便會顯示提示訊息,指示用戶修改或重新輸入資料,當資料驗證無誤時,便會傳到網頁伺服器作處理。

程式員開發網頁時,當遇上某一網頁需要處理用戶提供資料時,必須驗證用戶所提供的資料,而執行驗證的過程,可以由瀏覽器在輸送資料前由瀏覽器執行,或由伺服器在收到資料時同時驗證。深入研究這兩種做法,前者由瀏覽器驗證不涉及於網絡上輸送數據並即時執行,所以反應快,而後者由伺服器驗證,可執行相同的驗證,但因需要於網絡上輸送數據,所花的時間較多,可見兩種驗證模式各有利弊。別以為只要在這兩種驗證模式當中選擇實行其中一個便可,現實是開發這類網頁時,必須在瀏覽器和在伺服器雙方都建立驗證程序。

究其原因,原來利用瀏覽器來操作的系統,程式員不能一湘情願的以為接收到的資料,必定來自他們自己建立的網頁,因黑客可以自行編寫軟件,偽裝正常網頁來輸送資料到伺服器,所輸送的資料可以不經驗證,令伺服器的操作出現問題,或令伺服器執行有問題的操作。例如,對於一個網上銀行系統,當用戶執行過戶的操作,瀏覽器必須先驗證用戶的戶口有足夠金錢,驗證無誤之後,瀏覽器便會將指令輸送到伺服器來執行,理論上伺服器上的程式因瀏覽器已作驗證可以不作任何驗證便執行,但實際上,如果資料的來源是由黑客的軟件而來,便可以輸送指令到伺服器,在不經驗證下指示伺服器執行過戶操作。由此可見,雙方面的驗證工作是必需的。

網頁的雙重驗證模式,告誡我們當我們聽到別人的意見或建議時,我們必須要自行驗證,如果正確無誤時,才接受別人的意見或按別人的建議來做,我們不能假設別人對自己所說的意見或建議都必定正確,最終,我們得對自己的言行負責,不能以意見是別人提供而作推卸責任的藉口。

不隨波逐流,三思而行,才能在任何時候清楚知道自己的言行背後的原因,無論結果如何,也不後悔。

此文章之主持/專欄作家介紹:Herbert
資訊科技界資深工作者,學生時代受蘋果二代所啟蒙,沉迷電腦科技,尤其是軟件編程,大學時代主修計算機科學,最後以獲得哲學博士作完美終結。從事資訊科技行業超過二十年,對資訊科技界充滿憧憬和好奇,至今仍在追趕各項電腦新知,盼望能以資訊科技知識,令這個世界更美好。

版權所有©2013 創動力媒體 Dynamix