Re: [SQL ] SQL Injection
※ 引述《TonyQ (骨頭)》之銘言:
: 在網頁上有時候會碰到
: 要直接抓使用者的語句
: 比方說
: Sql="select * from user where user='" + request.getParameter(XX) +"';"
: 這樣的句子
: 我的處理法是都把request回來的內容 , 把'去掉,至少可以讓句子不中斷~
: 不過我看過有些處理法是透過ResultSet(JSP)或DataSet(ASP)去新增資料,
: 就沒這個問題,但是又好像不是都能這麼用。
在未告知的情況下,把'去掉是不對的;
通常容許使用者在輸入文字中可帶有'符號.
為了避免'符號造成句子結構的破壞,會用到escape sequence,
在許多程式語言都有這個要素,在ASP的VBScript字串中是使用''來表示'符號.
而ResultSet或DataSet是另一種處理法,
它的確把使用者輸入的資料完全當做資料欄位來處理,
而不是將輸入文字合併為SQL而暴露出弱點.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.114.242
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章