1. 로그인 실행 페이지 (ID/PWD 해킹)
- referer(Request.ServerVariables("HTTP_REFERER")) 값이 정상인지 check (Domain 포함)
- ID/PWD error 가 특정 횟수를 넘으면 재시도를 차단(Home으로 보내거나, random number를 발생시켜
직접 입력하게 하거나...)
- 중복 로그인 방지
2. 값을 받아 DB에 저장하는 페이지
- referer(Request.ServerVariables("HTTP_REFERER")) 값이 정상인지 check (Domain 포함)
- 짧은 시간 안에 값을 다시 보내는 것을 차단
3. SQL Injection 방지 (sql 문이 포함된 모든 파일에 대하여)
- 데이터 타입 검증 : 숫자형의 데이터를 전달해야만 하는 경우 IsNumeric 함수를 통해 검증하고,
문자형 데이타는 문자 길이를 확인
- sql문 오동작을 방지하기 위하여 싱글 퀘테이션을 치환하도록 한다. Ex) ‘ -> ‘’ (
- submit 된 값 검증하여 오류 차단
a. Null 값 차단
b. 'update', 'delete', '<script', '<xmp', '<%', '<?' 등의 단어 차단
- DB 설계 시 가능한 한 column에 Null 값을 허용하지 않는다.
4. 그밖에
- input 태그의 이름과 변수의 이름, DB 테이블의 column의 이름을 다르게 정한다.