12강 게시글 보기 기능 구현하기 (JSP Advanced Development Tutorial #12)
[소스코드 1]
▶ 하나의 글 내용을 불러오는 함수를 추가해보자.
- 아래 코드를 'BbsDAO.java'의 맨 밑에 추가한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
public Bbs getBbs(int bbsID) {
String SQL = "SELECT * FROM BBS WHERE bbsID = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(SQL);
pstmt.setInt(1, bbsID);
rs = pstmt.executeQuery();
if (rs.next()) {
Bbs bbs = new Bbs();
bbs.setBbsID(rs.getInt(1));
bbs.setBbsTitle(rs.getString(2));
bbs.setUserID(rs.getString(3));
bbs.setBbsDate(rs.getString(4));
bbs.setBbsContent(rs.getString(5));
bbs.setBbsAvailable(rs.getInt(6));
return bbs;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
|
cs |
[소스코드 2]
▶ 실제로 특정한 게시물의 내용을 보여주는 페이지를 만들어보자.
- 'write.jsp'를 복사 및 수정하여 'view.jsp' 페이지를 만든다.
- 게시물 내용의 특수문자를 처리하는 코드도 포함한다.
[실행화면 1]
▶ 글의 내용을 보여주는 'view.jsp' 페이지를 구성한 후 실제로 게시물을 클릭했을 때 화면
- 게시물의 작성자가 본인으로 로그인되어있기 때문에 '수정', '삭제' 버튼이 보이는 것을 볼 수 있다.
[실행화면 2]
▶ 다른 아이디로 로그인하여 '실행화면 1'과 동일한 게시물을 클릭했을 때 화면
- 작성자가 본인이 아니기때문에 '수정', '삭제' 버튼이 보이지 않는다.
[소스코드 3 & 실행화면 3]
▶ 웹 해킹 공격인 크로스 사이트 스크립팅 공격 처리
- 게시판의 글을 작성할 때, 스크립트 문장을 삽입함으로써 글을 보고 있는 사람들에게 영향을 끼치는 해킹 기법
- 크로스 사이트 스크립팅 공격의 가장 기본적인 형태
▶ 'view.jsp'와 'bbs.jsp'에 아래 코드를 각각 추가해준다.
- 위 '소스코드 2'의 'view.jsp' 코드에는 정상적으로 추가 되어있다.
1
|
.replaceAll(" ", " ").replaceAll("<", "<").replaceAll(">", ">").replaceAll("\n", "<br>")
|
cs |
▶ 다음과 같이 추가한다.
- 악성 스크립트를 삽입하려 하더라도 그 자체(특수문자)를 눈에 보이는 형태로 치환해줌으로써 스크립트가 삽입될 수 있는 문제를 미연에 방지하고 보안상의 문제를 막아줄 수 있다.
출처 : https://www.youtube.com/watch?v=SC7EP8ID9D8&list=PLRx0vPvlEmdAZv_okJzox5wj2gG_fNh_6&index=12
'WEB Project > JSP' 카테고리의 다른 글
JSP 게시판 만들기 - 13강 (0) | 2020.03.30 |
---|---|
JSP 게시판 만들기 - 11강 (3) | 2020.03.28 |
JSP 게시판 만들기 - 10강 (1) | 2020.03.27 |
JSP 게시판 만들기 - 9강 (0) | 2020.03.26 |
JSP 게시판 만들기 - 8강 (0) | 2020.03.25 |