flask_session.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:pwnedhub 作者: lanmaster53 项目源码 文件源码
def open_session(self, app, request):
        sid = request.cookies.get(app.session_cookie_name)
        # create a new session if the request does not include a token
        if not sid:
            return self.session_class(sid=self._generate_sid())
        # attempt to retrieve the session associated with the given token
        store_id = self.key_prefix + sid
        saved_session = self.sql_session_model.query.filter_by(session_id=store_id).first()
        # create a new session if the token doesn't represent a valid session
        if not saved_session:
            return self.session_class(sid=self._generate_sid())
        # create a new session if the session has expired
        elif saved_session.expiry <= datetime.utcnow():
            # purge the expired session
            self.db.session.delete(saved_session)
            self.db.session.commit()
            return self.session_class(sid=self._generate_sid())
        # handle valid sessions
        else:
            try:
                val = saved_session.data
                data = self.serializer.loads(want_bytes(val))
                return self.session_class(data, sid=sid)
            except:
                return self.session_class(sid=sid)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号