За последние несколько лет тенденция для клиентских (браузерных) приложений действительно взлетела.
Для моего последнего проекта я решил попробовать идти в ногу со временем и написать приложение на стороне клиента.
Часть этого приложения включает отправку электронных писем о транзакциях пользователям (например, подтверждение регистрации, электронные письма для сброса пароля и т. Д.). Я использую сторонний API для отправки электронных писем.
Обычно я запускаю приложение на сервере. Я бы вызвал сторонний API из кода на моем сервере.
Запуск клиентского приложения означает, что теперь это должно происходить в браузере пользователя. Сторонний API предоставляет необходимые файлы JavaScript для достижения этой цели.
Первая явная проблема, которую я вижу, - мне нужно использовать ключ API. Обычно это безопасно хранится на моем сервере, но теперь, вероятно, мне нужно будет предоставить этот ключ клиентскому браузеру.
Предполагая, что я могу обойти эту проблему, следующая проблема заключается в том, что мешает технически подкованному пользователю загружать инструмент разработки JavaScript в браузере и использовать API электронной почты в любом случае, как им нравится, вместо того, чтобы говорить о соблюдении любых правил, которые я установил в приложении. ,
Я предполагаю, что мой общий вопрос - как мы можем предотвратить злонамеренное использование клиентского приложения?