PHP 세션 - 세션 , 보안

세션 모듈은 세션에 저장한 정보를 볼 수 있는 것은 세션을 작성한 유저만 가능하도록 하는것은 불가능하다. 세션의 안전성을 적극적으로 지키기위해서는 세션과 연결된 값에 추가적을 작업을 하여야 한다.

세션에 넣을 데이터의 중요성을 평가하여  필요한 보호책을 생각하여야 한다.  이 대책은 보통 어떤 희생이 필요하기에 사용자의 편리성을 떨어트리기도 한다. 예를 들어 단순한 소셜엔지니어링으로부터 유저를 지키기 위해서는  session.use_only_cookies 을 유효화 해야 한다. 이 경우 유저측에서 쿠키가 항상 유효화되어 있어야하며 무효화되어 있는경우 세션을 사용할 수 없다. 

세션 ID 가 다른 사람에게 알려질 방법에는 몇가지가 있다.  다른 사람에게 넘겨진 세션 ID 로 제 3 자가 특정 ID 와 관련된 모든 리소스에 억세스할 수 있게 된다. 세션 ID 가 URL 로 전송되는 경우 외부사이트에 링크를 달고 있는 경우 외부 사이트의 referrer 로그에 세션 ID 를 담고 있는 URL 이 보존될 가능성이 있다. 두번째로 맘먹고 공격하려는 공격자가 네트워크의 트래픽을 모니터하고 있을 가능성이 있다. 세션 ID가 암호화되어 있지않는경우 세션 ID 는 네트워크상에서 일반 텍스트로 보내진다.  해결책은 서버상에 SSL 을 구축하여 유저에게 SSL 를 반드시 사용하도록한다. 


원문링크 : http://jp.php.net/manual/en/session.security.php