本人親自的經驗:網站被人無底線的攻擊,刷ip爆流量的做法。開始我總是很氣憤,如果是競爭對手所做的話,那么我想說有點卑鄙了。但是我又拿他沒有辦法,所以自己的做法是換了DNS服務器,用的是百度的云加速服務。所以,網站經常被人攻擊,對于企業來講相比個人損失會很大,曾經新聞一度的爆出了小米數據庫被盜,引起了廣泛的關注和引發了很多網民的擔憂。這么牛氣的公司也被攻擊,安全性問題值得深思。下面中萬網絡特別 整理了關于網站建設之網站安全性設計的四個辦法。
防止SQL注入技術,為什么必須防止SQL注入?
相當大一部分程序員在編寫代碼的時候,沒有對用戶輸入數據的合法性進行判斷,使應用程序存在安全隱患。新手最容易忽略的問題就是SQL注入漏 洞的問題。用NBSI 2.0對網上的網站掃描,就能發現部分網站存在SQL注入漏洞,用戶可以提交一段數據庫查詢代碼,根據程序返回的結果,獲得某 些他想得知的數據。
怎樣防止SQL注入?
比如URL、表單等提交信息時,通過一段防止SQL注入的過濾代碼即可防止出錯信息暴露,或者通過轉向,當系統出錯時轉到一個提示出錯的頁面等。 同時服務器權限設置是一個非常重要的方面,由于涉及到服務器的配置比較多,本文不介紹。
對于文本型輸入,如果要進行檢查,就得根據字段本身的性質進行。例如如果是年齡,就得限定必須是數字,大小必須限定在一個范圍之間,比如說 18-120之間。對于用戶名,應該建立一個集合,這個集合里存放有被允許的字符,或被禁止的字符。
這里特別需要說明的一點是關于檢查程序的問題。目前,程序對輸入數據的檢查是在前臺通過客戶端腳本完成的,這樣攻擊者很容易就可以繞過檢查 程序。建議采用前后臺結合的方法,既可以保證效率,有可以提高安全性。
怎樣測試程序已防止了SQL注入?
如http://www.XXX.com/jiaren.asp?ID=544,此網站用ID來傳送數值,如果在ID數值后面加一個SQL敏感符號,英文單引號“‘”,打開此鏈接,如 果出現的是瀏覽器的默認出錯提示,則需要設置瀏覽器,使其錯誤提示出現,方法為打開瀏覽器:選項—Internet選項—高級,在設置里找到顯示友 好的HTTP錯誤信息勾掉,確認后再刷新,如果此時出現了數據庫出錯的提示,如:Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80040e21' ,那么說明本程序并沒有防止SQL注入,反之如果只出現了如:“提醒您, URL有誤,請與管理員聯系”之類的提示,說明SQL已經防止了注入。檢測表 單方法如:如提交腳本,在輸入框中輸入特殊字符如:script_等,在此不再敘述,測試者可以在網上找到很多這樣的方法。
驗證碼技術,為什么必須使用驗證碼?
普遍的客戶端交互如留言本、會員注冊等僅是按照要求輸入內容,但網上有很多攻擊軟件,如注冊機,可以通過瀏覽WEB,掃描表單,然后在系統上 頻繁注冊,頻繁發送不良信息,造成不良的影響,或者通過軟件不斷的嘗試,盜取你的密碼。而我們使用通過使用驗證碼技術,使客戶端輸入的信息 都必須經過驗證,從而可以解決這個問題。
怎樣使用驗證碼技術?
所謂驗證碼,就是將一串隨機產生的數字或符號,生成一幅圖片,圖片里加上一些干擾象素,由用戶肉眼識別其中的驗證碼信息,輸入表單提交網站 驗證,驗證成功后才能使用某項功能。放在會員注冊、留言本等所有客戶端提交信息的頁面,要提交信息,必須要輸入正確的驗證碼,從而可以防止 不法用戶用軟件頻繁注冊,頻繁發送不良信息等。
怎樣測試驗證碼是否有效?
必須保證所有客戶端交互部分都輸入驗證碼,測試提交信息時不輸入驗證碼,或者故意輸入錯誤的驗證碼,如果信息都不能交,說明驗證碼有效,同 時在驗證碼輸入正確下提交信息,如果能提交,說明驗證碼功能已完善。
以上是中萬網站建設欄目特別策劃的關于網站安全性設計的辦法,為了方便閱讀和您的及時吸取里面的內容,分為二部分。本文為開頭第一部分,敬請關注中萬網絡(www.kuangchan99.com)注:本文經中萬網絡文字編輯創作,轉載請注明出處。