ssl, токен в адресную строку, фильтрация всего что можно от xss. Срок жизни токена - 5 минут с момента последнего посещения сайта, авторизация через картинку/файл(да что угодно), никаких печенек и сессий =)
Можно юзать обычные логин\пасс + email для восстановления пароля - в базе записывать только хэши:
$login = md5($salt.$inputlogin);
$pw = md5($salt.$inputpw);
$email = md5($salt.$inputemail);При восстановлении пароля ищем совпадение хэша email в базе - если есть, то генерируем пароль, заносим в базу к нужной записи его хэш с солью, а сам пароль без соли высылать на введенную почту. 2 поля в базе можно юзать для токена и последнего времени посещения, срок после которого токен недействителен можно настроить самому. Токен можно генерировать из хэша логина, пароля, соли и времени логина на сайте. По ип адресу и юзерагенту можно идентифицировать устройство пользователя, и если токен используется на другом устройстве - не давать доступа
Имхо, самый простой способ - даже если сольют базу, вытащат токен у юзверя - воспользоваться этим будет немного затруднительно.
Да и администрация(при условии что не будет писать логи с введенными данными) не сможет узнать данных пользователя.