無線&移動互聯網技術研發

          換位思考·····
          posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          java 有效的防止SQL注入

          Posted on 2010-01-01 00:38 Gavin.lee 閱讀(1087) 評論(0)  編輯  收藏 所屬分類: java SE & EE

          歸納一下,主要有以下幾點:
          1.永遠不要信任用戶的輸入。對用戶的輸入進行校驗,可以通過正則表達式,或限制長度;對單引號和雙"-"進行轉換等。
          2.永遠不要使用動態拼裝sql,可以使用參數化的sql或者直接使用存儲過程進行數據查詢存取。
          3.永遠不要使用管理員權限的數據庫連接,為每個應用使用單獨的權限有限的數據庫連接。
          4.不要把機密信息直接存放,加密或者hash掉密碼和敏感的信息。
          5.應用的異常信息應該給出盡可能少的提示,最好使用自定義的錯誤信息對原始錯誤信息進行包裝。

          參考:
          http://msdn.microsoft.com/en-us/magazine/cc163917.aspx
          http://www.unixwiz.net/techtips/sql-injection.html
          http://www.nextgenss.com/papers/more_advanced_sql_injection.pdf
          http://www.securiteam.com/securityreviews/5DP0N1P76E.html
          http://xkcd.com/327/
          http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/


          http://bbs.xiakexing.com/cgi-bin/topic.cgi?forum=34&topic=18&show=0
          http://www.cnblogs.com/iloveu/archive/2009/03/17/1414145.html
          http://dang.javaeye.com/blog/338367

          主站蜘蛛池模板: 漳州市| 黎川县| 民和| 南雄市| 韶关市| 类乌齐县| 蓬溪县| 娄烦县| 连平县| 建昌县| 贵州省| 兴业县| 蓬溪县| 洪雅县| 西乡县| 皮山县| 金塔县| 库尔勒市| 宁陵县| 商河县| 锡林浩特市| 贞丰县| 阳信县| 砀山县| 博客| 华坪县| 密山市| 巴楚县| 舞阳县| 深州市| 永川市| 法库县| 从化市| 扬州市| 金川县| 洛浦县| 镇赉县| 阜南县| 湖州市| 沂源县| 南城县|