button изолированный в form работает по разному если у него атрибут type="submit" (по умолчанию) или type="button"
форма перегрузится в первом случае даже если не указан action
Используя второй метод используется только функция при клике
sha256(user+pass+RANDOM)
где RANDOM получаем заранее с сервера
А на сервере сравниваем полученный sha256(user+pass+RANDOM) с sha256(user+pass+RANDOM) из базы данных
и убиваем RANDOM
Каждый раз запрос будет меняться