Я изучаю способы защиты приложения javascript, над которым я работаю. Приложение представляет собой чат-клиент, который использует APE (Ajax Push Engine) в качестве бэкэнда.
В настоящее время любой может получить доступ к странице и сделать запрос GET / POST к серверу APE. Я хочу обслуживать чат-клиент только зарегистрированных пользователей, и я хочу быть уверен, что будут приняты только их запросы. Я могу использовать аутентификацию по имени пользователя / паролю с PHP для обслуживания страницы пользователя. Но как только они получат страницу, что помешает им изменить javascript или позволить ему попасть в чужие руки?
Этот метод защиты клиент-серверного приложения выглядит многообещающим: http://abhinavsingh.com/ blog / 2009/12 / how-to-add-content-verify-using-hmac-in-php /
У меня есть другой источник, который говорит, что это идеально подходит для клиента javascript, поскольку он не зависит от отправки частного ключ. Но как это может быть? Согласно приведенному выше руководству, клиент должен предоставить закрытый ключ. Это не кажется очень безопасным, поскольку любой, у кого есть javascript, теперь имеет закрытый ключ этого пользователя. Насколько я понимаю, это будет работать примерно так:
Насколько это безопасно, если приложение javascript должно знать о закрытом ключе?
Спасибо за помощь!