Поскольку Mailhide будет прекращен (насколько я понимаю, в феврале 2018 года), мне нужен новый инструмент/сервис, чтобы проверить, хочет ли пользователь получить адрес электронной почты сотрудника на нашем веб-сайте.
Ключевым требованием является то, чтобы инструмент обнаруживал это с максимально возможной вероятностью, т.е. без запроса разгадывания капчи; конечно, в качестве проверки второго уровня, т.е. если инструмент/сервис не уверен на 100%, такая капча может быть использована.
Я знаю о двух существующих сервисах/инструментах, т.е. «Nocaptcha Recaptcha» и «Invisible Recaptcha», но, возможно, есть и другие, и я не знаю, какой из этих двух лучше всего соответствует требованиям, следовательно, нужна ли дополнительная «проверка» (с результирующие движения мыши / пальца) Nocaptcha дает вам (намного?) более высокий процент успеха, чем невидимый.
«Nocaptcha Recaptcha» (теперь называется reCAPTCHA v2) и Invisible reCAPTCHA работают одинаково в фоновом режиме. Единственное отличие состоит в том, что reCAPTCHA v2 использует собственную кнопку, а Invisible reCAPTCHA использует существующую кнопку на вашем сайте, которую пользователь все равно собирался нажать. Так что вероятность успеха должна быть примерно одинаковой. Для реализации невидимой reCAPTCHA требуется больше кода.
reCAPTCHA v3 может быть тем, что вы ищете. Кнопок нет: все работает в фоновом режиме. Этот API возвращает оценку, отражающую вероятность того, что пользователь является ботом, и затем вы решаете, что делать с пользователем на основе этой оценки.
Подробнее здесь:
Я принял ответ @browly как «правильный» по причине, которую я упомянул в комментарии. Но в этом ответе я дам больше информации о том, что я на самом деле реализовал на своем веб-сайте, просто для полноты и в (возможно, напрасной) надежде, что это поможет кому-то еще.
Предварительные замечания/контекст:
По поводу одного, но последнего пункта, хотелось бы все-таки "перестраховаться", а не просто занести адреса электронной почты в простой mailto:
...
Моя реализация:
Рядом с именем каждого человека есть значок почты и значок LinkedIn. Раньше нажатие на значок почты активировало Google Mailhide, и адрес электронной почты отображался (в кликабельной ссылке) во всплывающем окне (безобразном!) Дублирование этого с помощью одной из ReCaptcha будет моей следующей задачей (любые советы приветствуются!), И я задокументирую это на более позднем этапе.
Что я уже сделал, так это показывал адрес электронной почты в формате изображения, когда посетитель наводит курсор на значок почты (адрес остается видимым в течение 30 секунд после того, как мышь отодвинулась от символа почты, так что достаточно времени, чтобы увидеть адрес электронной почты). ). Я зашел довольно далеко с обфускацией (ремни и подтяжки): я разрезал адреса электронной почты на три png (имя, @url без tld, т.е. как дескриптор твиттера, и, наконец, «.com»), показанные двумя разными методами css ( background и content), в разных селекторах css и с бессмысленными именами файлов изображений. Возможно, это перебор, но я повеселился, изобретая это. Даже если спам-бот просматривает css и выполняет распознавание файлов изображений, я не думаю, что робот сможет исправить это вместе. Недостатком, конечно, является то, что адрес электронной почты не кликабельный.mailto:
ссылку (в моем списке дел, как описано выше), и что адрес электронной почты нельзя скопировать/вставить, так как это не текст. Я должен добавить, что наш формат адреса электронной почты очень прост (см. следующий пункт).
Для программ чтения с экрана HTML-значок электронной почты имеет вид <img alt="Our email is Lastname |at| our website address" src="mail-icon-white.png">
. Это, вероятно, не идеально, но я думаю, что это «достаточно хорошо» и, возможно, не совсем политкорректно, если посетитель не может это интерпретировать, я не уверен, что хочу получать электронное письмо от этого человека ;)
Реализованная функциональность заключается в том, что когда посетитель «щелкает» по символу почты, его почтовый клиент открывается с правильным адресом электронной почты (базовая mailto:
функциональность). И это должно работать только в том случае, если проверка reCaptcha v3 прошла успешно и с высоким баллом.
Некоторые полезные сообщения: https://stackoverflow.com/questions/7381150/how-to-send-an-email-from-javascript
А вот несколько полезных ссылок по использованию reCaptcha v3:
https://github.com/google/recaptcha/tree/master/examples и демо: https://recaptcha-demo.appspot.com/
https://github.com/hanshuo/mailhide2 (этот я еще не запускал, но понимаю, что он просто выводит ссылку mailto:, а я хочу, чтобы он напрямую открывал почтовый клиент, т.е. одним кликом меньше для пользователя.
Моя реализация довольно проста:
Мог говорит восстановить Монику
Питер К.
Мог говорит восстановить Монику