Поскольку мой веб-сервер не позволяет использовать ключевые слова PHP_AUTH_USER
и PHP_AUTH_PW
из-за CGI ( Полковник Шрапнели в 'PHP_AUTH_USER не задан?' ) Я изучаю некоторые другие способы отправить пароль пользователя на сервер.
Отправка пароля в виде открытого текста с использованием POST не нужна: перехват пакетов и просмотр заголовка показывает пароль.
Поэтому я мог бы сначала хэшировать пароль. Но кто-то, перехватив пакет и скопировав хэш и имя пользователя, может войти в систему, используя эту информацию, верно?
Создание динамического хэша с использованием временной метки может помешать копированию хеша. Отправка пароля как (timestamp + hash(password+timestamp))
(Last.FM использует что-то вроде этого). Затем сервер может вычесть метку времени (проверить, не истек ли он или что-то в этом роде), хэшировать известный пароль и проверить, совпадают ли они. Но тогда пароль должен быть известен серверу, поэтому остается вопрос:
как безопасно передать этот пароль на сервер при регистрации?
Тогда есть https, требующий SSL-сертификат, который мне недоступен (не стоит денег (пока?)).
Есть мысли?
p.s. В конце я хочу аутентифицировать приложение Android на своем веб-сервере