国产毛片午夜福利,国产黄网,国产亚洲天堂,97国产精品

  •  
    網(wǎng)頁編程安全漏洞全接觸
    發(fā)布時間:2005-03-31   瀏覽次數(shù):1186296
    網(wǎng)絡已經(jīng)成為互聯(lián)網(wǎng)最熱門的話題之一,與現(xiàn)實相對應的,網(wǎng)絡的部屬、實現(xiàn)也成為一個企業(yè)特別關心的問題。所以,現(xiàn)在我們可以很容易的看到各個企業(yè)在設計自己網(wǎng)絡、構建企業(yè)網(wǎng)站的時候,對于網(wǎng)絡的投入還是比較大方的,特別是一些敏感信息比較多的網(wǎng)站,比如銀行、證券等企業(yè),對于網(wǎng)絡更是不遺余力,市場上各種宣傳、廣告,也都大力推廣各種產(chǎn)品,比如防火墻、入侵檢測、企業(yè)防病毒等一系列的產(chǎn)品。但是,是不是使用了這些產(chǎn)品,網(wǎng)絡特別是網(wǎng)站真的了?不一定,即使這些設備檔、設置也很合理,網(wǎng)站還是有被攻擊甚至完全被控制的可能。我們知道,現(xiàn)在的網(wǎng)站特別是稍微大一點的網(wǎng)站,一般都采用ASP、PHP或者JSP等腳本語言來連接數(shù)據(jù)庫,取得數(shù)據(jù)庫里面的數(shù)據(jù)生成動態(tài)網(wǎng)頁,這樣,當一個網(wǎng)站完全建立的以后,程序會很多,特別是網(wǎng)頁設計的特殊性,服務器與用戶的交互程序特別多,所以,如果程序員不是很有經(jīng)驗或者沒有強烈的意識,程序的漏洞會很多,給網(wǎng)站帶來不可估量的隱患。這些程序漏洞,一定程度上,可能比網(wǎng)站服務器的漏洞更加嚴重,因為這些漏洞防火墻或者入侵檢測系統(tǒng)根本無法防止。 一、編程漏洞的形成 編程漏洞怎么形成的呢?我們需要對網(wǎng)頁編程有比較的認識才可以理解。首先,我們來看看網(wǎng)頁編程的特點。 1、網(wǎng)頁編程交互性強 之所以采用各種語言來設計網(wǎng)站而不直接采用HTML,目的是為了更好的管理網(wǎng)站資源,增加網(wǎng)站與瀏覽者之間的交互。所以,在網(wǎng)站設計的時候,一些常見的交互編程是少不了的,比如留言版、BBS論壇,聊天室等,這些程序的共同點是用戶輸入很多資料,通過這些資料與其他瀏覽者交流或者與網(wǎng)站管理者交流。而交互的特點,正式漏洞形成的一大原因,因為用戶輸入信息是不可預測的,如果程序沒有考慮到或者考慮不一些問題,用戶輸入有可能成為攻擊事件,不管有意還是無意。 2、網(wǎng)頁編程字符處理特別多 上面我們談到,交互其實是信息的流通。所以,這些信息的處理是大問題,怎樣嚴格控制用戶輸入信息的內(nèi)容、信息格式、信息長度都是編程需要考慮的問題。 3、網(wǎng)頁編程涉及最里層 我們知道,網(wǎng)頁編程直接和服務器打交道,這些程序都是直接和網(wǎng)站目錄、網(wǎng)站數(shù)據(jù)庫設置網(wǎng)站設置、系統(tǒng)設置相關,通過這些程序,可以訪問網(wǎng)站目錄、設置等幾乎所有服務器內(nèi)容。仔細想,這些程序其實都是很有潛在問題的,因為它們太敏感了。所以,如果程序設計有漏洞,幾乎等于網(wǎng)站有漏洞,甚至完全開放。 4、網(wǎng)頁編程整體人員基礎較差 網(wǎng)頁編程人員的技術素質(zhì),這個問題其實我們可能比較少關注。在部分傳統(tǒng)程序員眼中,網(wǎng)頁程序設計其實不能稱為程序員,他們認為網(wǎng)頁程序設計,只需要美工好可以了,完全沒有技巧可言,不叫真正的編程。之所以形成這種觀點,有幾個原因。一是網(wǎng)頁編程相對比較簡單,變化較少,基本上,網(wǎng)頁編程可以很簡單的概括出幾個類型:留言版、論壇、聊天室、郵件列表、新聞發(fā)布、軟件下載等,而這些類型的編程,大部分都有模式可循,和傳統(tǒng)編程相比,的確比較簡單,任意掌握;二是網(wǎng)頁編程人員大部分半路出家,專業(yè)的程序員相對較少,編程的系統(tǒng)訓練較少,可能編程的基礎也比較弱,所以,編程方面可以還是有一些缺陷的;三是部分網(wǎng)站直接下載網(wǎng)上免費程序來建立網(wǎng)站,這些程序的健壯性、性都沒有嚴格考慮,如果網(wǎng)站采用者不自己修改這些程序而直接照搬得話,很可能存在嚴重問題。 二、編程漏洞的類型 網(wǎng)頁編程相對比較簡單,漏洞的形成實例雖然很多,但是,都有一些內(nèi)在地共同點可以尋找,以此歸納出一些共同的特點,供我們參考。 1、用戶輸入驗證不 在網(wǎng)站編程而言,有一個規(guī)則可能我們需要牢記,那是對于用戶和用戶的輸入,都必須抱懷疑態(tài)度,不能完全信任。所以,對于用戶的輸入,不能簡單的直接采用,而必須經(jīng)過嚴格驗證,確定用戶的輸入是否符合輸入規(guī)則才可以現(xiàn)實、錄入數(shù)據(jù)庫?偨Y用戶輸入驗證,應該包括以下幾個方面。 (1)輸入信息長度驗證 這一點可能我們比較少注意,因為我們往往認為一般用戶不會故意將輸入過分拉長,稍微有一些用戶可能搗亂,但是,在這一點上可能沒有危害。其實,只要我們仔細考慮,如果不進行輸入驗證,可能的危害會相當大,為什么?如果用戶輸入的信息達到幾個兆,而我們的程序又沒有驗證長度的話,想想的危害有:a、程序驗證出錯;b、變量占用大量內(nèi)存,出現(xiàn)內(nèi)存溢出,至使服務器服務停止甚至關機。這樣的危害多大? (2)輸入信息敏感字符檢查 這一點平時在設計程序的時候我們可能都有注意,主要關注的是一些JavaScript的敏感字符,比如在設計留言版的時候,我們會將“
    立即預約