저도 잘은 모르지만, 더구나 웹에 대해서는 더 잘 모릅니다.
혹시 도움이 되신다면 좋겠다는 생각으로 몇자 적어봅니다.
요왕님 그냥 참고만 참고만 해주세요 ^^
SQL 쿼리문에 작은따옴표(')를 사용하게 되면 문자열로 인식이 되어 충돌을 일으킬수 있습니다.
select * from tblBoard where id = 'thailove' and password = '1234'
라고 가정을 했을때
id(Neo's House)라고 만들었다면
select * from tblBoard where id = 'Neo's House' and password = '1234'
'Neo'가 문자열이 되는셈이구요. s부터는 알수 없는 코드가 되어 집니다.
SQL 쿼리문에서 --은 주석문으로 쓰인다고 한다면
id(--.--.--)
select * from tblBoard where id = '--.--.--' and password = '1234'
점(.)부터는 주석처리(코드무효화)가 이루어 집니다.
id(Neo' 악의적인코드--)라고 만들었다면
select * from tblBoard where id = 'Neo' 악의적인코드--' and password = '1234'
select * from tblBoard where id = 'Neo' 부분은 정상적인 처리가 된후에
악의적인코드에 의해서 좋지 않은 결과가 만들어 질수도 있습니다.
--뒤의 부분은 주석문으로 처리가 되어 정상적인 쿼리문이 됩니다.
문제를 일으키는 특수문자들은 아이디를 만들때 필터링을 해주시는게 좋지 않나 생각듭니다.
** 제 댓글이 약간의 호기심을 불러 일으킬수도 있을것 같다는 생각이 듭니다. 게시판 운영에 있어서 혹시나 맘에 안드신다면 과감하게 삭제해주셨으면 합니다.