2012-07-23 3 views
4

저는 계획하고있는 세션에 대해 약간 혼란스러워합니다. 로그인하지 않은 사용자가 내 사이트를 방문하고 파일을 업로드합니다. 이 사용자는 세션 기간 동안 파일 소유권을 제어합니다 (session_id()를 사용하여 설정). 그러나 사용자에게 제어 권한이 있음을 인식하기 위해 세션 ID는 해당 사용자 ID로 확인하기 위해 데이터베이스에 삽입됩니다. 이 좋은 습관인가? 세션 ID는 얼마나 고유합니까?PHP - 임시 제어를위한 세션 사용

+2

db에 아무 것도 저장하지 않아도된다면 파일 이름을 세션에 넣기 만하면됩니다. –

답변

1

세션 ID는 현재 사용중인 ID의 공간에서 고유해야합니다. 기본적으로 모든 현재 세션에는 고유 ID가 있습니다.

이것은 세션 이외의 다른 세션 ID에 의존 할 수 없다는 것을 의미합니다 (그렇게 말할 때 분명하게 보입니다). 나는 현재 시간을 해싱하는 것과 같은 일을하는 것이 좋습니다. 그리고 그 파일에 대한 고유 한 ID를 사용하는 것이 좋습니다.

0

다른 고유 ID를 만들고 세션과 db에 저장합니다. 일부 프레임 워크와 라이브러리는 각 요청에 대해 보안을 위해 세션 ID를 다시 생성하므로 사용자 세션 기간 동안 변경되지 않는다고 가정하는 것이 좋지 않습니다. 세션 ID로 확신 할 수있는 유일한 것은 그것이 분명히 유일 할 것입니다.