STDUY

0404 복습

김띵똥 2022. 4. 4. 23:41

1.    SQL이란?

ð  DB에게 내리는 명령어

 

2.    DB?

ð  데이터를 저장하는 곳

Ex) DB가 엑셀이면, 파일은 Database ,

ð  SheetTable, 행은 로우(가로줄), 열은 컬럼(세로줄)

 

3.    SQL 인젝션 숙지해야되는 명령어https://sinsung0711.tistory.com/8

1)    Select 문법

ð  DB에서 정보를 검색할 때 사용하는 기본 명령어

ð  Select [컬럼 이름()] from [테이블 이름]

2)    Where [조건문]

ð  조건 또는 조건식의 결과로 동작

ID PSSWORD NAME
Nomaltic 1234 Nomaltic
mario 1111 mari

ð  Select id from member where name =’Nomaltic’

(조건이 노멀인 데이터중에서 아이디만 가져오는 것)

 

4.    SQL 인젝션이 일어나는 근본적인 이유

ð  WAS는 개발자가 정해둔 SQL문을 가지고 있는데 사용자에 값을 넣어서 실행한다(WAS가 갖고 있던 SQL문이 변조되는 것)

 

 

 

5.    로그인 과정 분석

1)    식별

ð  그 사람의 정보를 가져오는 것

(DB에 노말틱인 정보를 찾아오는 것, 가져오는 것)

 

1-2) 식별 정보

ð  식별을 사용하는데 사용하는 정보 ,  일명 ID라고 함

(Primary key , 중복된 아이디가 있으면 안됌)

 

2)    인증

ð  그 사람의 정보가 맞는지 확인하는 것

(DB에 노말틱 정보를 가져온 후 비교하는 것)

 

2-2) 인증정보

ð  노출되면 안됌, 비밀번호 , OTP ,

 

6. 로그인 로직

1)     식별/인증 동시(만들어내신 말이라고함)

ð  SQL 질의문 한번으로 식별과 인증을 동시에 해버리기

예시. select * from member where id =’normaltic’ and pass = ‘1234  (아이디가 ‘normaltic’이면서 비밀번호는 ‘1234’인 조건문(이후 if문을 사용)

If(SQL 질의 결과 데이터가 존재){

             로그인 성공

}else[

              로그인실패

}

 

 

2) 식별/인증 분리

예시 . select pass from member where id=’normaltic’

If(db_pass == in_pass){

       로그인 성공

}else{

       로그인 실패

}

'STDUY' 카테고리의 다른 글

0407 복습  (0) 2022.04.09
0407 복습(SQL Injection 어떤식으로 접근해야되는지?)  (0) 2022.04.09
구조 파악  (0) 2022.04.03
웹 서버 구조  (0) 2022.03.28
APM 이란?  (0) 2022.03.28