gpt4 book ai didi

python - 如何从 django_session 表中的 session_data 中找到用户 ID?

转载 作者:IT老高 更新时间:2023-10-28 20:37:13 26 4
gpt4 key购买 nike

django_session 表中存储session_data,首先使用Python 的pickle 模块进行pickle,然后使用Python 的base64 模块进行base64 编码。

我得到了解码后的 pickle session_data

session_data 来自 django_session 表:

gAJ9cQEoVQ9fc2Vzc2lvbl9leHBpcnlxAksAVRJfYXV0aF91c2VyX2JhY2tlbmRxA1UpZGphbmdvLmNvbnRyaWIuYXV0aC5iYWNrZW5kcy5Nb2RlbEJhY2tlbmRxBFUNX2F1dGhfdXNlcl9pZHEFigECdS5iZmUwOWExOWI0YTZkN2M0NDc2MWVjZjQ5ZDU0YjNhZA==

base64.decode(session_data)解码后:

 \x80\x02}q\x01(U\x0f_session_expiryq\x02K\x00U\x12_auth_user_backendq\x03U)django.contrib.auth.backends.ModelBackendq\x04U\r_auth_user_idq\x05\x8a\x01\x02u.bfe09a19b4a6d7c44761ecf49d54b3ad

我想从 auth_user_idq\x05\x8a\x01\x02u 中找出 auth_user_id 的值。

最佳答案

我对 Paulo 的方法有疑问(请参阅我对他的回答的评论),所以我最终使用了 scottbarnham.com blog post 中的这种方法:

from django.contrib.sessions.models import Session
from django.contrib.auth.models import User

session_key = '8cae76c505f15432b48c8292a7dd0e54'

session = Session.objects.get(session_key=session_key)
uid = session.get_decoded().get('_auth_user_id')
user = User.objects.get(pk=uid)

print user.username, user.get_full_name(), user.email

关于python - 如何从 django_session 表中的 session_data 中找到用户 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com