본문 바로가기
Q&A2018년 8월 8일1분 읽기

PHP 세션 관리 보안 설정

P
PHP개발자
조회 2203댓글 3

PHP 세션을 사용할 때 보안상 주의해야 할 점이 무엇인가요?

세션 하이재킹이나 세션 고정 공격을 방지하려면 어떤 설정을 해야 하는지 알려주세요.

session.cookie_httponly, session.cookie_secure 같은 옵션들의 역할이 궁금합니다.

댓글 3

코코딩하는민수8년 전

핵심 설정은: session.cookie_httponly=1(JS에서 쿠키 접근 차단), session.cookie_secure=1(HTTPS만), session.use_strict_mode=1(서버가 생성한 세션ID만 허용). 로그인 후에는 반드시 session_regenerate_id(true)를 호출하세요.

코코딩하는민수코딩하는민수8년 전

session_regenerate_id(true)에서 true 파라미터가 중요한데, 이전 세션 파일을 삭제합니다. 빼먹으면 세션 고정 공격에 취약해질 수 있습니다.

개개발자준호8년 전

session.gc_maxlifetime도 적절히 설정하세요. 너무 길면 보안 위험이 있고, 너무 짧으면 사용자 경험이 나빠집니다. 보통 1800(30분) 정도가 적당합니다.

Ctrl+Enter로 등록