Java Web Hacking Security and Practice

자바웹해킹보안 및 실습

009832 • 2024년 2학기 • 대전대학교

Schedule 강의일정

Date Lecture Content Logistics
9/3 slide thumbnail
Week #1:
과정 소개
Chapter 01 JSP의 개요: 원리를 이해하고 개발 환경 구축하기
  • p. 20-58
[ 과제 ]

최종 프로젝트

9/10 slide thumbnail
Week #2:
Chapter 02 스크립트 태그: 시작 페이지 만들기
  • p. 59-84
[ 과제 ]

9/17 No Class Chuseok
9/21 보강 slide thumbnail
Week #4:
Chapter 03 디렉티브 태그: 한글 출력 및 페이지 모듈화하기
Chapter 04 액션 태그: 상품 목록 표시하기
  • p. 86-162
[ 과제 ]

git → 이클립스

9/24 slide thumbnail
Week #5:
Chapter 05 내장 객체: 상품 상세 정보 표시하기
  • p. 164-198
[ 과제 ]

10/1 No Class 국군의 날
10/8 slide thumbnail
Week #7:
Chapter 06 폼 태그: 상품 등록 페이지 만들기
  • p. 200-234
[ 과제 ]

10/15 slide thumbnail
Week #8:
Chapter 07 파일 업로드: 상품 이미지 등록하기
  • p. 236-274
[ 과제 ]

10/22 Midterm Test
10/29 slide thumbnail
Week #10:
Chapter 08 유효성 검사: 상품 등록 데이터의 유효성 검사하기
  • p. 276-310
[ 과제 ]

11/5 slide thumbnail
Week #11:
Chapter 09 다국어 처리: 상품 등록 페이지의 다국어 처리하기
Chapter 10 시큐리티: 상품 등록 페이지의 보안 처리하기
  • p. 312-352, 354-382
[ 과제 ]

11/12 slide thumbnail
Week #12:
Chapter 11 예외 처리: 예외 처리 페이지 만들기
Chapter 12 필터: 로그 기록하기
  • p. 384-412, 414-448
[ 과제 ]

11/19 slide thumbnail
Week #13:
Chapter 13 세션: 장바구니 페이지 만들기
Chapter 14 쿠키: 주문 처리 페이지 만들기
  • p. 450-482, p. 484-510
[ 과제 ]

11/26 slide thumbnail
Week #14:
Chapter 15 데이터베이스 개발 환경 구축: 상품 관리 테이블 생성 및 상품 등록하기
  • p. 512-546
[ 과제 ]

12/3 slide thumbnail
Week #15:
Chapter 16 JDBC로 데이터베이스와 JSP 연동: 상품 조회, 등록, 수정, 삭제하기
  • p. 548-610
[ 과제 ]

박사 연구 설문조사

12/10 slide thumbnail
Week #16:
Chapter 17 JSP 표준 태그 라이브러리: 회원 가입, 수정, 탈퇴하기
Chapter 18 웹 MVC: 게시판 만들기
  • p. 612-640, 642-670
[ 과제 ]

12/17 Final Test
퀴즈 | 실기

스터디 가이드: 전체 | 짧게

Top


Overview 개요

단계별로 쇼핑몰을 구현하며 쉽게 배운다!

JSP의 이론적 개념 → 기본 실습 → 응용 실습 순의 단계별 학습이 가능합니다. 응용 실습이 합쳐져 최종적으로 북마켓 하나를 완성하도록 구성하여 본문에서 배운 내용이 어디에 어떻게 적용되는지 알 수 있습니다. 북마켓 프로젝트를 따라하다 보면 자연스럽게 JSP의 개념은 물론 실무에서 응용하여 적용할 수 있는 지식까지 습득할 수 있을 것입니다.

※ 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.

You can learn step by step in the following order: theoretical concepts of JSP → basic practice → applied practice. The application exercises are combined to form a final bookmarket, allowing you to see where and how what you have learned in the text is applied. If you follow the Bookmarket project, you will naturally be able to acquire not only the concepts of JSP but also knowledge that can be applied in practice.

※ This book was developed as a textbook for university lectures, so it does not provide answers to practice questions.

Textbook 교재

  1. Text: 쉽게 배우는 JSP 웹 프로그래밍 [2판]
  2. Author: 송미영 저
  3. Publisher: 한빛아카데미 | 2023년 12월 08일
  1. Supplementary: 웹 개발자를 위한 웹 보안: 실제 해킹 공격에서 적용할 수 있는 웹 보안 가이드
  2. Author: 성윤정, 김태은 저
  3. Publisher: 에이콘출판사 | 2022년 07월 22일

Top


Logistics 수업운영

Course Information / 과정정보

시간이 지나도 변하지 않고 컴퓨팅 세계의 기반을 강화하는 데 도움이 되는 전문적이고 안전하며 이식 가능한 C 코드를 작성하는 방법을 알아본다.

Students will learn how to write professional, safe, and portable C code that doesn’t change over time and helps strengthen the foundations of the world of computing.

Top


Policies 규정

Grading 평가방법

Most of my courses are graded based on the following components. Please note that the weights of each component may vary depending on the course. The grading policy will be announced in the first class and will be available on the course website.
대부분의 강의는 다음 구성요소에 따라 평가됩니다. 각 구성요소의 가중치는 강의에 따라 다를 수 있습니다. 평가 방법은 첫 강의에서 발표되며 강의 웹사이트에서 확인할 수 있습니다.


Attendance (& Participation) 출석 (& 참여도)

This may be the most important part of the class. Please pay careful attention to the following.
이것은 수업의 가장 중요한 부분일 수 있습니다. 다음 사항에 주의 깊게 주목해 주세요.

I appreciate everyone being actively involved in the class! Students who will succeed are those who are actively involved.
저는 수업에 적극적으로 참여해 주시는 모든 분들을 감사하게 생각합니다! 성공할 학생들은 적극적으로 참여하는 학생들입니다.

Assignments & Practice Exercises 과제 (연습문제) 및 실습 (수업 활동 결과)

Projects (or Research Paper & Presentation) 프로젝트 (또는 논문과 발표)

The following types of projects may be assigned in my courses:
다음 유형의 프로젝트가 강의에서 할당될 수 있습니다:

Tests

There will be two tests in this class: a midterm and a final. Both tests may include both written and programming questions. The written questions will be similar to the homework questions, and the programming questions will be similar to the programming assignments. Written questions will be closed-book, and programming questions will be open-book (i.e., you can use any resources you want, including the Internet - however, you must write the code yourself - code copied from ChatGPT often does not function properly and will not receive full credit).
이 강의에서는 두 번의 시험이 있습니다: 중간고사와 기말고사. 두 시험 모두 문제와 프로그래밍 문제를 포함할 수 있습니다. 문제는 과제 문제와 유사하며, 프로그래밍 문제는 프로그래밍 과제와 유사할 것입니다. 문제는 닫힌 책으로, 프로그래밍 문제는 열린 책 (즉, 인터넷을 포함한 모든 자원을 사용할 수 있음 - 그러나 코드는 직접 작성해야 함 - ChatGPT에서 복사한 코드는 종종 제대로 작동하지 않으며 완전한 점수를 받지 못할 수 있음)입니다.

Generally, the midterm will cover the first half of the course, and the final will cover the second half of the course. The final may also include some questions from the first half of the course.
일반적으로 중간고사는 강의의 전반부를 다루고, 기말고사는 후반부를 다룰 것입니다. 기말고사에는 강의의 전반부에서도 일부 문제가 포함될 수 있습니다.

General testing policies: 일반적인 시험 정책:

Regrading policy: 재평가 정책:

Top


Collaboration Policy

Homework assignments must be done individually: each student must hand in their own answers. However, it is acceptable to collaborate when figuring out answers and to help each other solve the problems.
과제는 개별적으로 수행되어야 합니다: 각 학생은 자신의 답안을 제출해야 합니다. 그러나 답을 찾는 데 협력하고 문제를 해결하는 데 서로 도와주는 것은 허용됩니다.

We will be assuming that you will be taking the responsibility to make sure you personally understand the solution arising from such collaboration. You also must indicate on each homework with whom you have collaborated.
우리는 이러한 협력에서 발생하는 해결책을 이해하는 책임을 질 것으로 가정할 것입니다. 또한 협력한 사람을 각 과제에 표시해야 합니다.

Late Policy

You will be allowed 6 total homework late days without penalty for the entire semester.
전 학기에 대해 총 6일의 과제 지각일이 허용됩니다. You may be late by up to 6 days on any homework assignment.
어떤 과제에 대해서도 최대 6일까지 지각할 수 있습니다. Once those days are used, you will be penalized according to the following policy:
그 날들을 사용하면 다음 정책에 따라 벌칙을 받게 됩니다:

You must turn in 75% of the practices and assignments, even if for zero credit, in order to pass the course.
과제를 제출해야 하는 날짜에 과제를 제출하지 않으면 0점이 됩니다.
과제는 48시간 후에는 0점이 됩니다.

Generally speaking, I do not accept late submissions for practice exercises. However, if you have a valid reason for submitting a practice exercise late, please let me know in advance if possible.
일반적으로 실습에 대한 늦은 제출은 받지 않습니다. 그러나 실습을 늦게 제출하는 합당한 이유가 있는 경우, 가능한 경우 미리 알려주세요.

Regrade Policy

If you feel that we have made a mistake in grading your homework, please submit a regrading request via email and I will consider your request.
과제 채점에 오류가 있다고 생각하는 경우, 이메일을 통해 재평가 요청을 제출하면 요청을 고려하겠습니다.

Please note that regrading of a homework may cause your grade to go either up or down.
과제 재평가는 성적이 올라가거나 내려갈 수 있음을 유의하십시오.

Top


Resources 자료실

Computer Software / 소프트웨어

The software we will be using is listed below. 수업에서 사용할 소프트웨어가 다음과 같다.

Textbook Resources / 교재자료

Do it! 실습 파일과 PDF 전자책

Tutorials / 튜토리얼

Top


Instructor 강사소개

Aaron Snowberger earned his Ph.D. in Information and Communications Engineering from Hanbat National University in South Korea in 2023. He also holds degrees in Computer Science and Media Design. He has taught technology courses for over 8 years, English for over 15 years, and has freelanced as a web developer and magazine designer for over 5 years. His current research interests include computer vision, natural language processing, image processing, signal processing, and machine learning.

Aaron Snowberger는 2023년 한국 한밭대학교에서 정보통신공학 박사 학위를 취득했습니다. 그는 또한 컴퓨터 과학 및 미디어 디자인 학위를 취득했습니다. 그는 8년 이상 기술 과정을 가르쳤고, 15년 이상 영어를 가르쳤으며, 5년 이상 웹 개발자 및 잡지 디자이너로 프리랜서로 일했습니다. 그의 현재 연구 관심사는 컴퓨터 비전, 자연어 처리, 이미지 처리, 신호 처리 및 머신 러닝입니다.

Top