본문 바로가기
Spring/Spring Muzi

외부강사님 교육?!

by 미눅스[멘토] 2023. 10. 7.
728x90

Filter
Interceptor
Controller
  - 1. 파라미터 구성
  - 2. 파라미터 검증(보안을 위한 validation 검증)
  - 3. 서비스 사용 (호출) 
        . 호출을 위한 파라미터 구성 
  - 4. 응답데이터 구성

일은 다 서비스에서 로직을 짬. 
컨트롤러에서 다 일을 하면 안됨...


===========================================================================================
1. MyPage 우회
2. 게시판에서 글쓰기 (script 적용 막아야 함)
3. 다운로드 - 특정 아이디 유출방지를 위해 token 발생 후 검증처리
4. 업로드 파일 확장자 고려
5. 파라미터 변조
   - 제품의 금액을 변경시켜 결제를 하는 것 방지 , 가격, 할인율, 제품 번호 등등 (제품 구   매시 파라미터를 반드시 검증 (글쓴이의 주체가 나하고 맞는지 확인))
   - 게시판에서 본인이 쓴 글을 타인이 수정하거나 삭제하는 것을 방지 (세션 아이디 고려)
6. 마이바티스에서 달러($)를 사용할 때 주의해야함. 
   - SQL Injection 해킹에 노출될 수 있음.
7. 파일 조회(다운로드) 시 etc/password 공격 주의
   - ../../../를 url에 노출시키는 경우 -> 파일 IO에 ../가 들어있는지 반드시 체크 (File IO) 
============================================================================================
Log
  - debug > info > warn > error
   (개발 시점에서는 debug쓰기)
   (비동기 방식으로 하긴 하지만, log 속도, 데이터 쌓이는 것. 
   안정화된 시스템은 warn이상으로 올려서 확인)
   정상적인 데이터면 info


실제 운영시스템에 올린다고 했을 때, 운영용 데이터베이스를 쓰지 않음.
개발용 데이터베이스를 씀. 

윈도우 환경
리눅스 환경 (실제 운영 여기서 돌아감)

개발
  - 개인PC개발 (로컬)(로컬환경) --> 개발서버(개발환경) --> 운영서버(운영환경) //(순으로 올림)
   (윈도우 운영체제)                            (리눅스 체제)
운영환경과 개발환경이 다름. 

war파일을 패키징할때 메이븐에서 할 수 있음.
개발환경, 운영환경 각각 구분해서 패키징 처리하고 싶음.

그 환경에 맞게끔 패키징 처리 (spring profile)
1. 
2. profile @어노테이션 처리 

 
디버그 단계까지 

------------------------------------------

트랜잭션.  

병렬로 들어온 자료를 직렬화해서 처리. db에서 스케줄링으로 돌면서 처리. 

트랜잭션 단위가 서비스 단위라면, 

try ~ catch 처리

트랜잭션 설정 !!!!! (검색하기) 

--------------------------------------------------------
SMS, 메일 - 
db에 저장하고, 계속 db 스케줄링을 돌면서 계속 전송 시도

=======================================================

debugging, 또는 log 계속 찍음. 

================================
조회 함수 명명규칙!! 

===============================

like 검색 속도 느려짐
outer join 은 꼭 필요한 경우에만 쓰기, 속도 느려짐. 

================================================

자바 암호화, 복호화

파일첨부는 반드시 확장자 검색기능 넣어야함. 
uploadController 가 있어서 거기다 하면 됨....??!

jsp 파일 업로드 공격
jsp 파라미터 변조

'Spring > Spring Muzi' 카테고리의 다른 글

외부강사님 교육  (0) 2023.08.26
Spring Controller(콘트롤러) 주고받는 방식  (0) 2023.08.02
e7e샘의 파일 업로드 원본  (0) 2023.08.01
tiles-config.xml(설정파일)  (0) 2023.07.31
root-context.xml(설정파일)  (0) 2023.07.31