사용자 계정 정보 같은 것들을 화면에 출력 해서도 안되며 주석으로도 남겨선 안된다.
디버그 코드는 삭제한다.
직접 입력을 해서 값을 넘기는 경우는 되도록이면 get방식보다 post 방식을 사용한다.
자신만의 암호화 알고리즘을 만들어서 사용하지 말고 잘 알려진 암호화 알고리즘을 사용하라.
직접 입력한 변수의 값은 안전하다.
자바스크립트에서 외부에서 변수에 값을 저장해서 불러오는 것은 해킹을 당할 수 있다.
그러므로 내부에서 변수에 담지 말고 바로 값을 불러오라.
서버 환경이 HTTPS로 설정이 되어 있다고 하더라도 보안을 위한 코드르 설정하는 것이 좋다.
xquery 검증 절차가 있어야함.
xpath 특수문자 , 쿼리 예약어 필터링 수행
기본적으로 사용자를 제외하고는 읽고 쓰기가 가능하지 않도록 파일 권한을 줘야한다.
하드코드된 패스워드는 위험하다.
오류가 발생할 때 나타나는 문구를 설정해야한다.
시스템에서 기본적으로 제공하는 에러를 사용하면 서버 환경 그런 정보들이 노출되므로 위험하다.
부적절한 스크립트가 수행되지 않게 <,>,"," 등등 <,> 등등으로 치환하기
파일 업로드 시 허용된 확장자 파일만 업로드 되게 하기.(php,jsp, 등등 이런 파일은 업로드 되면 안됨)
파일 업로드 할 때 파일명, 확장자를 사용자가 추측할 수 없는 문자열로 변경하여 저장하기.그르고 root밖에 위치시키기.
사용자가 취약한 패스워드를 입력할 수 없도록 패스워드 생성 규칙을 강제할 수 있는 로직을 적용해야한다.
비밀번호 확인하는 로직은 아이디으로만 확인하지 말고 아이디와 이메일과 같은 2개 이상의 정보로 확인하는 로직으로 짠다
에러가 발생했을 때 에러 코드 마다 에러 페이지로 리턴하는 페이지로 설정하기.
관리자 페이지는 등록된 IP만 접속이 가능하게 해야함.
디렉터리 구조가 보이지 않게 하기
PUT, DELETE등 비활성화
구글봇 파일은 검색 허용 디렉터리와 검색불허 디렉터리를 구분하여 보안 설정
입력 폼을 대상으로 특수문자, 특수구문 필터링 규칙 적용하기
시스템 명령어가 실행되지 않게 하기
페이징을 하는 파라미터에 허용범위 값보다 크지 않게 하기
참고 : 안전행정부 - 전자정부국
http://www.mospa.go.kr/frt/bbs/type001/commonSelectBoardArticle.do?bbsId=BBSMSTR_000000000045&nttId=34430
'Old > PHP' 카테고리의 다른 글
코드이그나이터 페이징 (0) | 2014.08.19 |
---|---|
CMS 툴 비교 (워드프레스,줌라,드루팔, xe) (0) | 2014.08.13 |
코드이그나이터 Helper (0) | 2014.08.13 |
코드이그나이터 디비 연결 (0) | 2014.08.12 |
excel 형태로 저장하기 (0) | 2014.07.17 |