SessionHandler
클래스를 구현하여 SessionHandlerInterface
을 구현하고 있습니다. close()
, destroy($session_id)
, gc($maxlifetime)
, open($save_path, $session_id)
, read($session_id)
및 write($session_id, $session_data)
:PHP 세션 ID를 대체합니다.
는 the manual에 따르면 나는 5 개 메소드를 구현해야합니다.
설명서는 샘플 구현을 제공하기도하고 아주 간단합니다.
hpuhqm4ppmdfaat5s1qmt5s397
하지만 난 더 위하여 표준화 uuidv5에 대한 그 변경하려면 : 내가 가진 유일한 문제는 PHP 세션 ID가 항상 형식은입니다.
$ session_id는 모든 메소드에 전달되는 매개 변수이므로,이를 수행하는 유일한 방법은 open($save_path, $session_id)
메소드 구현시 session_id($uuidv5)
을 사용하여 이미 생성 된 세션 ID를 재정의하는 것입니다.
더 깨끗한 방법이 있습니까?
Btw,'session_id ($ uuidv5)'이 당신에게 효과적이라면, 왜 옳지 않다고 생각하십니까? AFAIK는 userland 코드에서 세션 ID를 설정할 수있는 유일한 기능입니다. 세션 ID를 생성하는데 충분한 엔트로피가 있다는 것을 알아 두십시오. (화장품과 같은 이유로) 보안 문제에 부딪히지 않고 있습니다. 일반적으로 세션 ID 체계를 변경하여 세션 보안을 저하시킬 수있는 기회가 있습니다. – hakre
은 최적이 아니기 때문에 직관적이지 못합니다. 어쩌면 당신이 옳고, 우선 내가 알 고를 수정하면 안된다. – NotGaeL