Generate a random id for session
(self)
| 170 | ) |
| 171 | |
| 172 | def _generate_session_id(self): |
| 173 | """Generate a random id for session""" |
| 174 | |
| 175 | while True: |
| 176 | rand = os.urandom(16) |
| 177 | now = time.time() |
| 178 | secret_key = self._config.secret_key |
| 179 | |
| 180 | hashable = f"{rand}{now}{utils.safestr(web.ctx.ip)}{secret_key}" |
| 181 | session_id = sha1(hashable.encode("utf-8")).hexdigest() |
| 182 | if session_id not in self.store: |
| 183 | break |
| 184 | return session_id |
| 185 | |
| 186 | def _valid_session_id(self, session_id): |
| 187 | rx = utils.re_compile("^[0-9a-fA-F]+$") |