Re: [SQL ] SQL Injection

看板Database (資料庫)作者 (愚者)時間18年前 (2006/07/26 21:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/11 (看更多)
※ 引述《PsMonkey (痞子軍團團長)》之銘言: : ※ 引述《TonyQ (骨頭)》之銘言: : : 是的,不過一般而言, : : 我會這麼處理的都是不應該會出現'這符號的欄位, : : ex.帳號密碼..在撰寫的時候就要求它不能輸入', : : 雖然這些可以用JavaScript作頁面上的過慮, : : 但是難防從網址上直接帶過來的參數闖關。 : 通常需要擔心這種東西的 : 大部分是帳號密碼之類的(當然其他的也不是不用顧慮啦) : 簡單地說,這個時候用 POST 比較好 : (絕大多數時候,POST 都比較好) : 不過,這已經離開這個版的討論範圍了 : : 程式語言的部份這是我知道的 : : 我想問的是單就SQL語法而言裡面有沒有特別處理的方式。 : : 因為我試過 \' 在SQL好像不吃。@0@ : 我記得標準 SQL 是用兩個 '' 來代表一個 ' : 針對你的問題,我的做法是,在組 SQL 句子的時候 : 就先把外來變數(相對於 SQL 句子)全部 replace 掉 寫一個自動登入也不分post不post壓 簡單sql injection 1. 猜到你table的結構,才能想辦法塞新的值進去 2. 或是令where後面的條件為真 簡單的防範, 1. 把debug information減到最少,這樣別人在try時,沒法看到表格的輪廓 2. 每一個user input的地方都有合理的字元集,不要什麼都不限制的吃下了 不要相信何任使用者是安全的,每一個可能input的地方都要過濾 不要以為你只有表單在input data,其他地方也有可能。 只要能觸發你函式接收資料的部分都算 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.26.34.105
文章代碼(AID): #14nskgei (Database)
討論串 (同標題文章)
文章代碼(AID): #14nskgei (Database)