要防止 SQL 注入,正确的方法是要防止普通值变成语句,即 int 就一定是 int 进入,string 就一定是对引号进行转义后进入,请参见读《SQL注入天书之ASP注入漏洞全接触》感(荐)。
但是如果动不了前人的程序,只能从访问层面作拦截,这主要就是关键词识别了,下面我收集了些关键词,反正不管有没有用,供参考。
拦截的时候,切勿机械式拦截,比如 and、or 一拦,不知道多少正常访问会被拦截。
and
by
char
chr
column_name
count
create
declare
delete
drop
exec
execute
from
grant
group_concat
information_schema.columns
insert
like
master
mid
order
select
sitename
table
table_schema
truncate
union
update
use
where
xp_cmdshell