Есть форма, которая собирается юзером в личном кабинете сервиса. Указывается адрес сайта, куда будет встраиваться форма. В конце ему выдается JS ссылка на форм сервис для встраивания на страницу с указанием ID пользователя в ссылке. Скрипт отрабатывает, разворачивает форму на сайте.
Вопросы: 1) достаточно ли безопасно валидировать запросы (и разворачивать форму) с подобной формы на основе REF откуда пришли запросы? 2) Или возможно тут построить какие-то JWT решения? 3) Где почитать про best practice создания embed решений?
Т.е если пользователь указал свой сайт, как example.com, то на backend первым делом проверять ref запроса, пришел ли он с example.com.
Нет никакого смысла привязываться к домену вообще.
Помимо очевидной возможности отправить что угодно в качестве реферера если злоумышленник захочет, есть еще момент с тем что ваш виджет могут передать разработчику для встраивания на сайт и он будет пытаться тестировать/встаивать его на локалке с большой долей вероятности. Если отдавать форму по рефереру такой возможности уже не будет.
Защищаться надо на уровне сервера, защита от спама запросами и всякое такое.
На клиенте это всё бесполезно, какое JWT вы там хотите если все данные в открытую лежат изначально? Вам просто нужен любой удобный идентификатор по которому вы поймете что запрос идёт к определенному проекту в системе. Логично что это должен быть не просто порядковый номер, а что-то буквоцифренное дабы не было возможности перебором проспамить всех ваших пользователей.