-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
일회만 접속하는 세션을 쉽게 제거 #1113
Comments
@coolengineer 동작 루틴을 한 번 확인해 보아야 할 것 같습니다. 어딘가 꼬인 것 같기도! |
제가 작성한 코드가 lib/session.php 시절 만들어진 것이고, 여기에서 timestamp 관련되어 살짝 변형된 코드가 Textcube.Control.Session.php 여기에 있군요. Textcube.Control.Session.php 파일 내에 있는 코드를 살펴보니 문제가 있어 보입니다. 만약 꼬인 것 같다면 이 안의 함수인 newAnonymousSession 이 문제군요. 이걸 고치는 걸로 하겠습니다. |
@coolengineer 뭔가 세션 테이블이 항상 넘쳐나는 문제가 있습니다. 확인을 부탁 드립니다. T_T |
오늘 파고있고 밤 중에 푸시할게요~ 나의 iPhone에서 보냄
@coolengineer https://github.com/coolengineer 뭔가 세션 테이블이 항상 넘쳐나는 문제가 — |
DB용 session 관리 모듈은 expires 로 만 gc를 수행합니다. 이 expires는 세션이 생길때 timeout(대략 3600초) 만큼 계산한 미래로 설정해 놓구요. 그런데 일회용 세션(60초 이내에 다시 세션에 대한 요청이 없을 것)을 바로 제거하는 것은 gc가 expires 값이 아닌 updated 필드가 현재로부터 timeout 시간 이전에 일어난 것을 대상으로 수행한다 가정하고 구현되었으며, 또한 세션에 대한 read 만으로 updated가 현재 값으로 갱신된다고 가정하고 만들었습니다. 따라서, 정상 작동을 위해서 expires를 사용하도록 수정하여야하며, 세션 read 시에 최초생성 이후 두번째인지를 확인하여 expires를 현재 시각 + timeout 으로 설정하는 루틴이 필요합니다.
|
@coolengineer master는 한 사흘 돌려보니 문제가 없어졌네요~ 1.10 트리쪽도 확인이 필요할 듯 합니다. >_< |
refs #1113
The text was updated successfully, but these errors were encountered: