mysql查詢的安全方案使用預處理語句防止sql注入
如刪除id=1的使用者delete from user where id=1;# 在瀏覽器中通過get方式傳遞id值,get ?id=1,如user/delete?id=1 # 如果瀏覽器惡意傳值。如下user/delete?id=1 or 1=1 # 值為1= or 1=1,現在的sql語句為:delete from user where id=1 or 1=1 # 這條語句永遠成立,這條語句會將user表的資料全部刪除# 處理語句delete from user where id=?; # mysql會預先對這條語句進行結構解析,在傳值`1 or 1=1`那麼就不會再將or當成結構來解析了(prepare)寫入資料庫的資料要進行特殊字元的轉義
查詢錯誤資訊不要返回給使用者,將錯誤記錄到日誌php端盡量使用pdo對資料庫進行操作,pdo對預處理有很好的支援。mysqli也有,但擴充套件性不如pdo,效率高於pdo。
延伸:mysql的其他安全設定定期做資料庫的備份
不給查詢使用者root許可權,合理分配許可權
關閉遠端訪問資料的許可權
修改root口令,不用預設口令,使用比較複雜的口令
刪除多餘的使用者
改變root使用者的名稱
限制一般使用者瀏覽其他庫
限制使用者對資料檔案的訪問許可權
安全面試 安全面試總結2
記錄下我這次面試過程中不會的內容,有待之後學習,有些還沒有總結完 self xss 自跨站指令碼攻擊 是一種由受害者自己輸入xss payload觸發才能成功的xss攻擊行為,這種攻擊可基於dom,或是建立在僅該使用者可操作或可見的域。比較雞肋,經常和csrf一起使用效果不錯 這裡有乙個關於self...
安全面試總結
記錄下我這次面試過程中不會的內容,有待之後學習,有些還沒有總結完 self xss 自跨站指令碼攻擊 是一種由受害者自己輸入xss payload觸發才能成功的xss攻擊行為,這種攻擊可基於dom,或是建立在僅該使用者可操作或可見的域。比較雞肋,經常和csrf一起使用效果不錯 這裡有乙個關於self...
360企業安全面試隨筆
題目 1 陣列的常用api有哪些?1 join arr t y s k arr.join t.y.s.k string.split 執行的操作與 array.join 執行的操作是相反的。string.split string.split string.split string.split 3 2 ...