Re: [SQL ] SQL Injection

看板Database (資料庫)作者 (骨頭)時間18年前 (2006/07/21 23:15), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/11 (看更多)
※ 引述《razor (=_=)》之銘言: : ※ 引述《TonyQ (骨頭)》之銘言: : : 不過我看過有些處理法是透過ResultSet(JSP)或DataSet(ASP)去新增資料, : : 就沒這個問題,但是又好像不是都能這麼用。 : 在未告知的情況下,把'去掉是不對的; 是的,不過一般而言, 我會這麼處理的都是不應該會出現'這符號的欄位, ex.帳號密碼..在撰寫的時候就要求它不能輸入', 雖然這些可以用JavaScript作頁面上的過慮, 但是難防從網址上直接帶過來的參數闖關。 : 通常容許使用者在輸入文字中可帶有'符號. : 為了避免'符號造成句子結構的破壞,會用到escape sequence, 程式語言的部份這是我知道的 我想問的是單就SQL語法而言裡面有沒有特別處理的方式。 因為我試過 \' 在SQL好像不吃。@0@ : 在許多程式語言都有這個要素,在ASP的VBScript字串中是使用''來表示'符號. : 而ResultSet或DataSet是另一種處理法, : 它的確把使用者輸入的資料完全當做資料欄位來處理, : 而不是將輸入文字合併為SQL而暴露出弱點. 是,但是好像不見得都支援這種作法, 之前碰到問題的時候,印象中是透過DataSet update的時候, 資料庫不支援我給的資料... 當時我卡在這問題上蠻久的,不過已經忘記確實的問題是長甚麼樣子了,(汗) 想找也曾經踢過這個鐵板的夥伴,能夠說一下當時的解法,以供晚輩參考。 還是說有沒有相關的參考範例,可以讓晚輩我參考一下^^? 這只是個心中長久的迷惑 XD -- String temp="relax"; | Life just like programing while(buringlife) String.forgot(temp); | to be right or wrong while(sleeping) brain.setMemoryOut(); | need not to say stack.push(life.running); | the complier will stack.push(scouting.buck()); | answer your life stack.push(bowling.pratice()); | Bone everything -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.240.58
文章代碼(AID): #14mEzwqF (Database)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 3 之 11 篇):
1
1
1
1
文章代碼(AID): #14mEzwqF (Database)