본문 바로가기
MySql

MySQL mysql 테이블에서 세션을 참조하기 위해 고유 한 세션 키를 생성하는 방법은 무엇입니까?

by 베이스 공부 2021. 1. 20.
반응형

$ _SESSION을 사용하여 사용자 ID를 저장했지만 SQL과 쌍을 이루는 일반 쿠키 (KEY 포함)를 사용하여 사용자가 브라우저를 닫을 때 인증을 유지할 수 있도록 변경하고 싶습니다.

SESSIONs 테이블의 각 행에 대한 고유 키를 생성하려면 어떻게합니까?

 

해결 방법

 

세션 쿠키에 대한 PHP 쿠키 만료 문제를 우회하기 위해 자체 세션 핸들러를 효과적으로 작성하려고합니다. 이것은 매우 간단하고 제대로 수행되면 꽤 최적화됩니다.

1 단계 : 세션 ID 생성

세션 ID는 고유합니다. 그러나 영구적 인 세션을 계획하는 경우 몇 가지 사항을 염두에 두어야합니다. 연결 문제에 관계없이 세션이 브라우저별로 전달되기를 원합니다. 따라서 세션 ID를 네비게이터의 사용자 에이전트 (변경되지 않음)와 매핑하여 시스템을 약간 속일 수 있습니다.

이렇게하면 세션 ID 생성기가 두 명의 개별 방문자에 대해 동일한 ID를 생성 할 가능성을 줄일 수 있습니다. 나머지는 난수 생성기와 해시 알고리즘에 달려 있지만- md5 (microtime (). $ _ SERVER [ 'REMOTE_ADDR']) 는 일반적으로 신뢰할 수있는 친구입니다.

2 단계 : 데이터 저장 및 검색

데이터를 저장하는 것도 간단합니다. 목표는 세션 키 ( PRIMARY 로 설정)와 데이터 ( TEXT ).

세션을 생성 할 때 새 행을 삽입하고 오류를 확인하십시오. 오류가 발생하면 키가 이미 사용 된 것이므로 다른 키를 다시 생성해야합니다. 행이 성공적으로 삽입 되었다면-이제 사용자에 대한 세션 행이 생겼습니다! 여기서부터해야 할 일은 적절하다고 생각되는대로이 행을 읽고 쓰는 것입니다.

세션 ID로 사용자를 쿠키하면 완료됩니다!

주의 사항

 

참조 페이지 https://stackoverflow.com/questions/13434906

 

 

반응형

댓글