본문 바로가기
개발/PHP

[시큐어 코딩] PHP - 인증 취약점을 막기 위한 세션 변수 사용

by m_.9m 2022. 2. 19.

 

세션의 정의

= 세션이란 웹사이트에서 사용자 정보를 저장하는 방법으로 보안에 취약한 쿠키를 보완해 로그인과 같은 인증정보 확인에 쓰이고 있습니다. 세션은 브라우저를 닫아 서버와의 연결을 끝내는 시점까지를 세션이라고 합니다.

 

인증 취약점을 예방하기 위해 세션 변수를 적용해줍니다.

세션 변수는 $_SESSION['변수 이름']="값";

으로 지정되어 사용할 수 있고 세션을 사용할 페이지에서는 맨 앞에 session_start()를 사용해야한다.

 

 

[댓글 작성 페이지]

 

 

인증 시 다른 방법보다 이 세션 아이디를 불러와서 값이 일치하는지 검증하면 인증 취약점을 예방할 수 있다.

예를들어 기본 비밀번호 입력 검증시 플로우 통제(step1>2>3)를 우회하여 바로 수행페이지로 넘어가거나 할 수 있기 때문에 기본적으로 권한이 필요한 페이지 곳곳에(메인 페이지, 마이페이지 등등) 인증을 심어두는 것이 좋다.

 

[댓글 삭제 페이지]