Django에서 세션 시간 초과 추가

세션 시간 초과가 필요한 이유는 무엇입니까?



사용자가 인터넷 카페나 도서관의 공용 컴퓨터에서 웹사이트에 액세스하는 경우 로그아웃하는 것을 잊을 가능성이 있습니다. 그렇다면 낯선 사람이 자신의 프로필에 액세스하고 모든 민감한 정보를 읽는 것을 막을 수 있습니다.

사용자가 로그아웃을 클릭하지 않고 대신 브라우저를 닫을 수도 있습니다. 그들에 대해 재치가 있는 사람은 이전 사용자의 기록을 쉽게 다시 추적하고 프로필을 가지고 다시 놀 수 있습니다.

자, 어떻게 정리할까요?


1 단계:
django-session-timeout을 설치하려면 아래 명령을 입력하십시오.

pip install django-session-timeout



2 단계:
다음으로 django-session-timeout에 대한 미들웨어를 추가해야 합니다. 이 미들웨어는 어디에나 삽입할 수 있습니다. 미들웨어는 다음과 같습니다.

# settings.py

MIDDLEWARE = [
   'django.contrib.sessions.middleware.SessionMiddleware',
   'django_session_timeout.middleware.SessionTimeoutMiddleware',
]



3단계:
settings.py에 포함할 수 있는 몇 가지 유용한 구성은 다음과 같습니다.

세션 제한 시간 만료 시간:
아래 코드는 활동 시작 후 30분이 지나면 세션을 무효화합니다.

세션 제한 시간 만료 시간을 설정하려면 다음을 사용하십시오.

# settings.py

SESSION_EXPIRE_SECONDS = 1800  # Expire after 30 minutes



가장 최근/마지막 활동 후 세션 무효화:

# settings.py

SESSION_EXPIRE_AFTER_LAST_ACTIVITY = True



사용자를 다른 페이지로 리디렉션:
세션이 만료된 후 사용자를 다른 페이지로 리디렉션합니다. 홈페이지일 수도 있지만 접근 방법은 다음과 같습니다.

# settings.py

SESSION_TIMEOUT_REDIRECT = 'redirect_url_/' # Add your URL



브라우저가 닫힐 때 세션 만료:
많은 사용자가 자신의 계정에서 로그아웃하는 것을 잊고 대신 브라우저를 닫을 것입니다. 이에 대비하여 다음 줄을 추가하세요.

# settings.py

SESSION_EXPIRE_AT_BROWSER_CLOSE=True # Invalid session


결론



좋아, 그게 다야! 이제 사용자 세션을 보다 효율적이고 안전하게 처리할 수 있습니다.


마지막 메모…



Django를 처음부터 배우는 데 관심이 있는 분들은 제 최신 과정을 확인해보세요.

Python Django: Ultimate Beginners Course - 2022

좋은 웹페이지 즐겨찾기