Re: [SQL ] SQL Injection
※ 引述《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
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章