회원의 대시 보드에 액세스하려면 계정에 로그인 (또는 등록)해야하는 시스템이 있습니다.세션을 언제 시작해야합니까?
제 질문은 ... 어떤 시점에서 session_start()입니까? 로그인 페이지와 등록 페이지에서? 또는 사용자가 성공적으로 인증 한 후에?
감사합니다.
회원의 대시 보드에 액세스하려면 계정에 로그인 (또는 등록)해야하는 시스템이 있습니다.세션을 언제 시작해야합니까?
제 질문은 ... 어떤 시점에서 session_start()입니까? 로그인 페이지와 등록 페이지에서? 또는 사용자가 성공적으로 인증 한 후에?
감사합니다.
세션 데이터에 액세스 할 수있는 모든 페이지에 session_start()
을 포함시켜야합니다. 그리고 다른 출력이 완료되기 전에 호출되어야합니다.
세션 데이터에 액세스해야하는 페이지에서 세션을 시작하십시오. 성공적인 로그인의 일환으로 session_regenerate_id
으로 전화하여 세션 고정을 방지해야합니다.
사용자가 인증되면 세션을 시작할 수 있습니다. 후에 S_SESSION의 사용자 관련 정보를 알 수 있고 어디서나이 정보에 액세스 할 수 있습니다.
으로 헬게 Helwig은
당신은 모든 페이지의 상단에session_start()
를 추가해야했다. 그러나이 작업을보다 쉽게 수행하려면 PHP 문서를 만들면됩니다. 여기서는 과 같이 모든 중요한 코드를 저장하고 호출합니다. init.php라고하세요.
그러면 각 페이지 상단에 include 'init.php'
을 입력하면 코드가 약간 정리됩니다.
사용자의 정보를 확인한 후에 세션을 시작해야하며 사용자의 uid를 세션 변수로 설정할 수 있습니다. 프로필, 환경 설정 등과 같은 사용자의 개인 정보를로드하는 데 나중에 유용 할 수 있습니다.
등록 페이지에는 세션을 시작할 필요가 없다고 생각됩니다.
감사
귀하의 session_start()
각각 안전하고는 인증 후 액세스 할 때마다 페이지에서 호출됩니다. 사용자를 인증 할 때 로그인 및 등록 페이지 모두에서 세션에 값을 넣습니다. 그러나 일단 사용자가 확인되면 이제는 사용자의 인증이 필요한 모든 페이지에이 기능을 추가해야합니다.
자체 인증 시스템을 만드는 것은 매우 까다 롭습니다. 많은 양의 경험이 있거나 잠시 동안 주제를 공부하지 않았다면 많은 취약점이 발생할 가능성이 있습니다. – outis
session_start()는 사용자 브라우저가 쿠키를 사용하지 않도록 설정되어있을 때마다 호출 될 때마다 새 세션 ID를 생성하므로 세션 관리가 까다 롭고 이러한 사용자를 지원하려는 경우 취약합니다. –