티스토리 뷰

1. 안전하지 않은 예외처리


- 프로그램에서 발생되는 예외를 처리하지 않거나 적절하게 처리하지 않는 경우


- e.printStackTrace() : IDE 툴에서 자동으로 만들어주는 에러 스택 출력 메소드이다. 이 오류 메시지에는 시스템에 대한 상세한 정보가 출력된다.


- 로그 파일에 예외시 출력된 스택 정보가 저장 되어 있는 지 확인하고,

 스택 정보가 있다면 해당 사이트에 접속해 에러를 발생시켜 에러 처리 상태를 확인한다.



2. 예외처리


1
2
3
4
5
6
7
8
9
10
11
StringBuffer buffer = new StringBuffer();
String data = request.getParameter("data");
try{
    data.trim();
catch (Exception e) {
    buffer.append("입력값이 유효하지 않다.");
    return;
}
buffer.append("이 메시지가 보여지지 않아야한다.");
doProcessingNext();
 
cs


data 파라미터가 전달되지 않았을 경우 NullPointerException 이 발생한다. 


만약 에러가 발생되면 return; 을 수행하여 "이 메시지가 보여지지 않아야한다." 로 지행되지 않는다.


결국 "입력값이 유효하지 않다." 만 출력되게 된다.




3. NullPointerException 처리


1
2
3
4
5
6
7
8
String data1 = request.getParameter("data1");
String data2 = request.getParameter("data2");
if( data1 != null && data2 != null && data1.equals("name") && data2.equals("phone") ) {
        out.println("이름과 번호가 확인되었습니다.");
else {
        out.println("확인되지 않은 고객입니다.");
}
 
cs


null 이 될 수 있는 값은 참조하기 전에 null 인지 검사해야 한다. 만약 data가 널이 아니고 조건을 만족한다면 


"이름과 번호가 확인되었습니다." 가 출력되고, 그렇지 않다면 "확인되지 않은 고객입니다." 라고 출력된다.

'Secure Coding' 카테고리의 다른 글

파일 업로드/다운로드 취약점  (0) 2016.05.02
크로스 사이트 요청 위조 [ CSRF ]  (0) 2016.04.29
크로스 사이트 스크립팅 [ XSS ]  (0) 2016.04.29
로그인 시도 횟수 제한  (0) 2016.04.28
패스워드 정책  (0) 2016.04.28
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함