Ильяс Якубов: я для себя просто хотел узнать (может я что не заметил): что конкретно не устраивает в их подходе?
Вот, лично меня, на данный момент - всё там устраивает. (поэтому и пытаюсь понять...)
Ivan Tomilov: два критерия:
1. запрос отправляет живой человек (капча - не панацея и тоже обходится также)
2. запрос приходит именно с нужного домена (тут - я пока кроме как делает гугл с гугл-мэпс при установке JS-карт с ключом - вариантов не знаю)
я понял, нужно глубже анализировать... ушёл думать дальше....
Вадим Егоров: Лично мне - пока это вообще ни разу не требовалось, но тут дело не в способе кодирования, а в скорости исполнения. А она в методах перегрузки - в разы превышает все перечисленные на порядки....
Тот, кто сделает на перегрузке операции над множествами в разы сэкономит вычислительное время CPU.
1. У валидации домена (hash) - срока жизни нет: без ограничений. Он перманентный прописывается в meta-теге в head-секции HTML страницы, которая расположена на домене, к которому Вы предоставили доступ, где будет загружаться Ваш виджет отправки писем.
2. Технологии - это проверка возможностей браузера, чтобы максимально исключить различные скрипты на бэке. Например, достаточно проверить, что браузер поддерживает геолокацию, Workers и WebRTC, к примеру, чтобы отсечь максимум "левых" вызовов через бэкенды.
3. Про размещать в родительском окне - так там и надо. Иначе-то - вообще никак не отследить и не проверить)
4. Про токен (который формируется сразу после отправки формы) - можете проверить, что он не просрочен более, чем на 10 секунд, так: время получения минус timestamp с клиента, защищённый hash-подписью на основе данных meta-тэга, UserAgent и IP-адреса пользователя.
Вот, лично меня, на данный момент - всё там устраивает. (поэтому и пытаюсь понять...)