看板 Database 關於我們 聯絡資訊
※ 引述《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