【轉】 java web開發之安全事項

從事java web開發也有幾年了,可是開發中的安全問題卻越來越不以爲然。直到不久遇到一黑軟,瞬間sql注入,少時攻破網站數據庫。還好,我還沒有用root級的用戶連接數據庫。不過也沒有什麼用了,因爲我的懈怠用戶表的帳號密碼沒有加密。對方可以很容易的進入網站後臺爲所欲爲了。更讓我鬱悶的是文件上傳我沒做類型限制,唉,不用說了上傳一個webshell文件。可憐的服務器成了赤裸羔羊。回過頭來痛定思痛,決定重新規範web開發的安全標準,總結如下。

      1.絕對絕對絕對要採用預處理的方式來進行sql操作,如果實在需要做sql語句的拼接,那麼請做輸入信息的過濾。selet,update,delete,insert,and,%,',_,這些都屏蔽了吧。

      2.一般的sql注入都是從網站的前臺網頁尋找漏洞,建議針對前臺操作和後臺操作分別建立數據庫操作用戶。前臺的用戶只賦予實際需要的基本權限。後臺用戶可權限可以寬鬆些但也只能針對當前庫。切不可用root級別的用戶作數據庫連接。否則數據丟了,你都沒地方哭去。

      3.用戶登錄表的密碼一定要加密,如果可以也可將用戶名一併加密。這是以防萬一的最後手段,當對方看你的用戶登錄表的時候起碼看到也不知道是什麼。

      4.jsp文件集中放到指定的文件夾下,如果你使用struts那麼你可以將struts使用的文件放在WEB-INF目錄下的某個文件夾中,因爲該WEB-INF文件夾網站瀏覽用戶是看不到的。

      5.文件上傳一定要做類型檢查,一些jsp,php,asp等程序文件堅決不能讓其上傳。如果你用的是linux 下apache+tomcat 做的jk連接,你可以將文件直接上傳到apache目錄,或者用ln作軟連接,萬一對方上傳了jsp文件你沒判斷出來,那麼也是傳到了apache目錄下,你在jk指向中

將jsp文件指定到tomcat中某一文件夾,對方在瀏覽器中是無法訪問上傳的jsp文件的。

      6.日誌,建議增加服務的訪問日誌,記錄來訪者的IP,傳遞參數,對後臺操作用戶建立日誌,記錄其操作內容。完善的日誌記錄可以幫助你發現潛在的危險,找到已經發生的問題。

      臨時想到這麼多,寫的很粗糙以後再慢慢補充完善。最後忠告我的程序員朋友,做人要低調,做事要踏實,這年頭隨便一個網民登陸個黑客軟件就沒準吧你黑了。當你發現黑你網站的那個人不過是個業餘網民,相信你一定有被小baby暗算,恨不能找塊豆腐撞死的感覺。算了不說了,總之低級問題總會出在懈怠的時候,所以精神點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章