20240228 Spring 12 - 관리자페이지

Leafy·2024년 2월 28일
1

중앙_자바

목록 보기
49/76

어제 new 배지
선생님 버전


sql에 적어서 오늘이면 ndel에 1 넣음

jsp

관리자 페이지 만들기 전에 회원가입 기능 구현

관리자 페이지

시안 만들기

카카오 오븐
피그마... 이런 것도 되고

  • 이제는 설계를 잘 하고 시작하자.
    (뜯어 고치는 일을 최소화.)
    스케치 -> 와이어프레임 -> 목업 -> 프로토타입 -> 스토리보드
  • 와이어프레임 : 기획 단계의 기초를 제작하는 단계. 페이지 레이아웃이나 UI요소 등 뼈대
  • 목업 : 와이어프레임보다 조금 더 설계 화면과 유사하게 만드는 것. 정적 모델링
  • 프로토타입 : 다양한 인터렉션이 결합되어 실제 서비스처럼 동작하는 것.
  • 스토리보드 : 설명, 기능 명세서, 와이어프레임, 프로세스, 정책 등등 설계 문서

어떤 기능, 어떤 데이터가 들어갈지 미리 정하기. 무슨 db에 무슨 컬럼이 필요하다까지.

꼭 화면부터 그리자.

그 다음 어떤 기능, 어떤 구성


카카오 오븐에서 만든 회원가입 페이지 화면.

서비스 기획자를 위한 프로토타이핑 툴 소개


회원가입

자바스크립트 이메일 검증 정규식

법령.. 링크
https://www.cela.kr/4/?q=YToyOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjtzOjQ6InBhZ2UiO2k6MTt9&bmode=view&idx=5596553&t=board
만약 개인정보보호를 위한 기술적·관리적 및 물리적 조치를 취하지 않은 개인정보처리자에게는 3천만원 이하의 과태료를 부과할 수 있으며, 동 조치를 취하지 아니하여 개인정보를 분실·도난·유출·위조·변조 또는 훼손당한 경우 2년 이하의 징역 또는 2천만원 이하의 벌금에 처해질 수 있습니다.
https://brunch.co.kr/@jdglaw1/25
https://www.catchsecu.com/archives/13185

데이터베이스 암호화

비밀번호가 그대로 들어가 있는 모습은 평문

사용자의 입력 -> jsp -> Spring -> DB
=> 이거는 평문 저장.

개인정보는 다 암호화해서 저장하라고 법으로 되어 있다.

법령은 개정됨. 그래서 이 파트에 일하게 되면 자주 업데이트되는 개정사항 확인해야함. 공문도 내려온다.

  • 구간 암호화
    • http 80 -> 평문으로 주고받음. (구간암호화X) 탈취될 수 있다.
    • https 443 포트 -> 구간 암호화 돼있다.

Spring 시큐리티
사용자가 jsp -> 스프링 -> DB 이 구간을 암호화.

DB 암호화 /// 지금 할것. 데이터가 저장된 안의 것만.


MD5 <- 알아보기. 장단점 등등
우리는 SHA-2 쓸 것. 이것도 봐보자.

주민번호 뒷자리만 암호화하는 거 (일부만 암호화) 허용해준다

봐두면 언젠간..

한국인터넷진흥원.. KISA 참고


DB 암호화

https://www.security.org/how-secure-is-my-password/

mariadb가 제공하는 AEX_DECRYPT()AES_ENCRYPT() 쓸 것.
SHA도 있는 듯하다.

디자인 패턴, 컴포넌트는 어떻게 제작하는 건가? - https://brunch.co.kr/@migyeongux/54
https://shxrecord.tistory.com/238

-- 암호화 하기
SELECT 
HEX(AES_ENCRYPT('01234567', 'compose'))
FROM DUAL;
-- 궬??e裝7dF	?
-- 82BECB98FE5765EDFB376446090CDC3A

aes로 해놓으면 헥사코드로 변경

-- 복호화 하기 (-> 평문화)
SELECT 
AES_DECRYPT(UNHEX('FA793A4BB8A3D44339E0EEBBF5FAB818'),'coffee') 
FROM DUAL;

양방향.

비슷한 암호를 넣었을 때 비슷하게 나오는 걸 극복했다.

MD5... MD1~MD6까지 나왔다.

좋은 암호화라고 했지만 시간이 지나면서 뚫리게 되고 그랬다.

-- 두 번 섞기 (cocktail)
SELECT 
	HEX(
		AES_ENCRYPT(
			MD5('01234567'),'book'
		)
	)
FROM DUAL;
-- 3CD46A304F373C5DFE00D64D54F943DB070973E501D2E92F6FFD77FE235E753C7C7E1FC3E7C3216C8FCABCDA53CAB586
  • SHA2
    256부터 512까지 지원한다고 함. 128은 안되고 null 나왔다. (되는 숫자가 있다.. 224도 되긴했음)
-- SHA2
SELECT SHA2('01234567', 256) FROM DUAL;
-- 924592b9b103f14f833faafb67f480691f01988aa457c0061769f58cd47311bc

  • 암호화 예시
-- 암호키 Book(대소문자 구분)
-- HEX(AES_ENCRYPT('암호', 'Book'))
UPDATE member SET mpw=HEX(AES_ENCRYPT(mpw, 'Book'));
-- 이러면 더 강력해질 것. key가 다 다른 거. (추천)
UPDATE member SET mpw=HEX(AES_ENCRYPT(mpw, mid));

실제 이메일인지 검증
https://blog.thundermail.co.kr/149

김대현님 이력서
https://cv.hatemogi.com/

2개의 댓글

comment-user-thumbnail
2024년 2월 28일

실시간으로 사사삭!!!!!!!!!!!

답글 달기
comment-user-thumbnail
2024년 2월 28일

와~~ 멋있어요~

답글 달기