SQL인젝션: 서버에 쿼리를 보낼때 ', " 등 db 예약어를 보내 서버 쿼리를 자기가 수정하는겁니다
예를 들어 ' OR '1'=1' 를 보내면 SQL인젝션 방지를 안 할 경우, 로그인이 됩니다
sql 문이 select * from user where id='$id' and pw='$pw' 인 경우
select * from user where id='' OR '1'=1' ' and pw='' OR '1'='1 '
이런 문장이 됩니다
id가 '' 이거나 '1' = '1' -> 언제나 true입니다
pw가 '' 이거나 '1' = '1' -> 언제나 true입니다
mysql이나 mysqli는 각자 mysql_real_escape와 mysqli_real_escape로 막고요
인젝션은 해킹 기법입니다. 매우 허접한 해킹기법이죠 ㅋㅋ 함수하나에 막히는 수준...
ssl 이란 Secured Socket Layer의 약자로, 서버와 클라이언트가 통신할때 중간에서 패킷을 가로채거나, 변조할 수 없게 만듭니다.
단, 서버의 부하가 심해집니다. 암호화된 만큼 해독해야되서죠.
https가 ssl을 쓰는 연결입니다 (먼저 SSL 인증서를 구매하시고, 적용하셔야해요, startcom인증서는 무료입니다)
프로가드란 메소드 이름, 클래스 이름은 a 같은 식으로 바꿔주는 툴입니다.
a.a, ab.a 이렇게 바뀌는거죠
프로가드 해도 뚫는 사람은 뚫습니다만 (전 뚫습니다. 많이 해보면 익숙해져요)
어설픈 초짜들은 못 뚫게 됩니다