作者qrtt1 (愚者)
看板Database
标题Re: [SQL ] SQL Injection
时间Wed Jul 26 21:23:24 2006
※ 引述《PsMonkey (痞子军团团长)》之铭言:
: ※ 引述《TonyQ (骨头)》之铭言:
: : 是的,不过一般而言,
: : 我会这麽处理的都是不应该会出现'这符号的栏位,
: : ex.帐号密码..在撰写的时候就要求它不能输入',
: : 虽然这些可以用JavaScript作页面上的过虑,
: : 但是难防从网址上直接带过来的参数闯关。
: 通常需要担心这种东西的
: 大部分是帐号密码之类的(当然其他的也不是不用顾虑啦)
: 简单地说,这个时候用 POST 比较好
: (绝大多数时候,POST 都比较好)
: 不过,这已经离开这个版的讨论范围了
: : 程式语言的部份这是我知道的
: : 我想问的是单就SQL语法而言里面有没有特别处理的方式。
: : 因为我试过 \' 在SQL好像不吃。@0@
: 我记得标准 SQL 是用两个 '' 来代表一个 '
: 针对你的问题,我的做法是,在组 SQL 句子的时候
: 就先把外来变数(相对於 SQL 句子)全部 replace 掉
写一个自动登入也不分post不post压
简单sql injection
1. 猜到你table的结构,才能想办法塞新的值进去
2. 或是令where後面的条件为真
简单的防范,
1. 把debug information减到最少,这样别人在try时,没法看到表格的轮廓
2. 每一个user input的地方都有合理的字元集,不要什麽都不限制的吃下了
不要相信何任使用者是安全的,每一个可能input的地方都要过滤
不要以为你只有表单在input data,其他地方也有可能。
只要能触发你函式接收资料的部分都算
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.26.34.105