q1:什麼是sql注入?
a1:sql注入是注入式攻擊中的常見型別,sql注入式攻擊是未將**與資料進行嚴格的隔離,導致在讀取使用者資料的時候,錯誤地將資料作為**的一部分執行,從而導致一些安全問題。
典型的sql注入的例子是當對sql語句進行字串拼接操作時,直接使用未加轉義的使用者輸入內容作為變數。例如:
var testcondition; //測試內容變數
testcondition = request.from("testcondition")
var sql = "select * from tablea where id = ' " + testcondition + " '";
上例中,如果使用者輸入的id只是乙個數字的話是沒有問題的,可以執行正常的查詢語句,但是如果在testcondition中用;將數字id與其他的sql語句隔開的話,就會帶來意想不到的結果,比如輸入drop、delete等。
q2:怎麼預防sql注入?
a2:根據sql注入的原理,應從以下幾個方面來考慮:
過濾使用者輸入引數中的特殊字元,從而降低被sql注入的風險。
禁止通過字串拼接的sql語句,嚴格使用引數繫結傳入的sql引數。
合理使用資料庫訪問框架提供的防注入機制,比如mybatis提供的#繫結引數,從而防護sql注入。同時一定要謹慎的使用$,$相當於使用字串拼接sql。
要正確的使用引數化繫結sql變數!
雜湊碼(讀書筆記)
1 雜湊 hash 是一種資料摘要演算法 或者稱為雜湊演算法 是資訊保安領域中重要的理論基石。該演算法將任意長度的輸入經過雜湊運算轉換成固定長度的輸出。2 固定長度的輸出可以稱為對應輸入內容的數字摘要或雜湊值。3 比較著名的摘要演算法有md5 詳見博文md5簡介 和sha1,它們不僅可以生成校驗碼,...
《如何高效學習》讀書筆記
一.學習策略 道 2.學習順序 獲取 理解 拓展 糾錯 應用 覆盤。獲取知識要有選擇,並且制定學習計畫 拓展,知識的關聯 覆盤,檢查獲取 理解 拓展 糾錯 應用中的錯誤。二.學習方法 術 breakthrough rapid reading 指讀法注意事項 這一章節的主要觀點是什麼?怎樣記住主要觀點...
高效休息法 讀書筆記
預設模式網路 defaultmode network,簡稱dmn 高效休息法的目的 2.消除大腦疲勞的七個休息法 2.心事重重時 動態冥想 3.壓力導致身體狀態不佳時 壓力呼吸化法 4.想跳脫思考怪圈時 猴子思維 消除法 5.被憤怒衝動沖昏頭腦時 rain法 6.看他人不順眼時 溫柔的慈悲心 7.身...