Основная проблема здесь в том, что вы выполняете большую работу и не получаете большей безопасности, чем самозаверяющий SSL-сертификат, и вы устанавливаете себя в качестве ответственной стороны, чтобы закрыть любые возможные дырыи поддерживать безопасность вашей системы (подсказка: это большое дело).
Итак, если вы говорите о общедоступном веб-приложении, которое вы хотите, чтобы ваши пользователи могли просто использовать и использоватьс уверенностью в безопасности, тогда оплата подписанного SSL-сертификата - действительно ваш единственный выбор.Тем не менее, пара замечаний:
- Упомянутые вами хэши в порядке, но если вы хотите настоящей безопасности, используйте что-то вроде pbkdf2 (Google, и ваши глаза откроются на глубину и сложностьреальная безопасность)
- Не проверяя подлинность сервера (с целью подписания подписанного сертификата SSL), вы открываете себя для атак «человек посередине».Если кто-то другой может выдать себя за вас и имеет полную возможность «перехватывать, изменять и подделывать произвольные сообщения между клиентом и сервером», тогда им будет просто фишинг любой информации, которую они хотят от ваших пользователей.Так что это проблема, которую вам нужно решить, если вы хотите, чтобы это было полное решение.
Редактировать: Прочитав и подумав больше о том, что вы ищете, я думаю, что я могуесть решение для вас.
На самом деле вы можете защитить две вещи: ваш контент и учетные данные пользователей.Вы определили, что ваш контент не стоит тратить 35 долларов в год на защиту, что достаточно справедливо и совершенно разумно.Вы по-прежнему хотите обеспечить максимально возможную безопасность учетных данных вашего пользователя, поскольку эта информация ценна для них и для тех, кто будет ее использовать.
Даже если вы не хотите тратить деньги на защиту своих данных.контент, вы все еще хотите, чтобы он был доступен только для пользователей с полномочиями.Таким образом, вместо того, чтобы заставлять пользователей создавать имя пользователя / пароль, которые стоило бы защитить, просто попросите их войти в систему со своим адресом электронной почты.
Ваш контент и адрес электронной почты доступны третьим лицам с достаточными навыками и мотивацией.Но из того, что вы сказали, ваш контент, вероятно, не стоит такого количества усилий, и их адрес электронной почты не настолько чувствителен.Но у вас все еще есть шлюз входа между миром и вашим контентом, и вы можете использовать двойную подписку для ограничения спама и т. Д. Вы можете легко расширить такую систему, включив в нее имя пользователя / пароль и использовать SSL, если ваш контентрастет, чтобы потребовать это.