public static string[] blackList =
{"--",";--",";","/*","*/","@@","@",
"char","nchar","varchar","nvarchar",
"alter","begin","cast","create","cursor","declare","delete","drop",
"end","exec","execute",
"fetch","insert","kill","open",
"select", "sys","sysobjects","syscolumns",
"table","update"};
{"--",";--",";","/*","*/","@@","@",
"char","nchar","varchar","nvarchar",
"alter","begin","cast","create","cursor","declare","delete","drop",
"end","exec","execute",
"fetch","insert","kill","open",
"select", "sys","sysobjects","syscolumns",
"table","update"};
Sql Injection 이 가능한 문자열을 배열로 지정을 해놓고, 웹서버에 요청되는 내용을 위 내용으로 필터링을 하는 것입니다.
특히 요즘에는,. 쿼리문을 바이너리 문자열로 인코딩하여 실제 SQL Server 에서는 실행시 정상적인 쿼리문으로 실행되도록 Cast 형변환,. 즉 Declare 와 Cast 를 많이 쓰는것 같습니다.
사이트의 개별 코드와는 상관없이 사이트 전역에 영향을 주는 방법이긴 합니다만, Form 값으로 들어오는 부분도 필터링을 하므로,. 보통 게시판을 글 내용에 있는 것도 필터가 될수도 있겠네요.
요즘,. Sql Injection 이 극성인데,..
조금이나마 도움이 될수도 있을것 같습니다.^^