Вот несколько дополнительных мер безопасности, которые вы можете добавить.
Во-первых, я думаю, что для проверки каждого нового запроса довольно часто используется информация, хранящаяся в экземпляре сеанса. Например, вы можете убедиться, что IP-адрес и пользовательский агент не меняются во время сеанса:
newip = str( request.remote_addr );
if sesh.ip_addr != newip:
logging.warn( "Session IP has changed to %s." % newip);
newua = rh.request.headers.get( 'User-Agent', None );
if sesh.agent != newua:
logging.warn( "Session UA has changed to %s." % newua );
Кроме того, возможно, было бы лучше предотвратить возобновление сеанса на неопределенный срок? Я думаю, что такие сайты, как Google, в конечном итоге попросят вас снова войти в систему, если вы попытаетесь сохранить сеанс в течение длительного времени.
Полагаю, было бы легко постепенно уменьшать значение _SESSION_EXPIRE_TIME при каждом возобновлении сеанса, но это не очень хорошее решение. В идеале выбор времени, когда пользователь должен снова войти в систему, должен учитывать требования к потоку и безопасности вашего сайта.