티스토리 뷰
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
TAG
- AlertDialog.Builder
- BFS
- onPostExecute
- Spring
- jsp
- sort
- mybatis
- 안드로이드 스튜디오
- controller
- restfb
- 예외처리
- DFS
- 안드로이드 비콘
- DP
- Baekjoon Online Judege
- INSERT
- 이클립스
- indexOf
- java
- servlet
- algorithm
- boj
- order by
- list
- 자바
- REDIRECT
- onBackPressed
- maven
- table
- RequestMapping
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함