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

          換位思考·····
          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

          主站蜘蛛池模板: 凌源市| 晋中市| 吉安市| 阿克陶县| 深水埗区| 九龙坡区| 杭锦旗| 义马市| 灵武市| 得荣县| 阿拉尔市| 新兴县| 江达县| 专栏| 称多县| 大关县| 锦屏县| 瑞丽市| 扎囊县| 边坝县| 江川县| 长汀县| 长岛县| 镶黄旗| 广东省| 聊城市| 平遥县| 个旧市| 东宁县| 峨眉山市| 九江县| 石柱| 长宁区| 信宜市| 永康市| 崇阳县| 伽师县| 赞皇县| 右玉县| 河北区| 芮城县|