Для начала, сейчас я устанавливаю Plug.Session
следующим образом:
plug Plug.Session,
store: :cookie,
key: "_key",
signing_salt: "SALT_HERE"
Когда пользователь выходит из системы, он нажимает:
def logout(conn, _) do
conn
|> configure_session(drop: true)
|> redirect(to: "/login")
end
Все функции входа / выхода работают, и в форме входа снова создается новый _key
. Проблема, с которой я столкнулся, заключается в том, что если я копирую значение _key
во время входа в систему и заменяю значение cookie в браузере через отладчик Chrome, когда я выхожу из системы, я могу перейти к прямому GET URL-адрес без входа в систему, а затем можно получить доступ ко всему, как если бы я вошел в систему.
Есть ли хороший способ с этим бороться? Я понимаю, что было бы невероятно сложно получить значение _key
для кого-то, кто вошел в систему, и использовать его, прежде чем они снова войдут в систему и сгенерируют новое, но после небольшого просмотра я не смог ничего найти об этом.