作者razor (=_=)
看板Database
标题Re: [SQL ] SQL Injection
时间Fri Jul 21 23:08:15 2006
※ 引述《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