Existe-t-il un moyen de cacher une adresse e-mail incluse dans un article avec Captcha? Je veux quelque chose comme un lien disant "Afficher l'adresse e-mail" et obliger l'utilisateur à résoudre un Captcha et si résolu correctement afficher l'e-mail.
Par exemple, dans les projets Google, vous pouvez voir les personnes impliquées et lorsque vous cliquez sur une adresse e-mail, vous devez résoudre un Captcha avant de l'afficher: https://code.google.com/u/112265612467218200107/
Ils utilisent Google reCAPTCHA Mailhide . Si vous voulez l'utiliser une fois, vous pouvez simplement obtenir le code HTML de leur générateur. Saisissez simplement votre adresse électronique (par exemple, [email protected]) et vous obtiendrez un code de ce type à coller où vous le souhaitez:
<a href="http://www.google.com/recaptcha/mailhide/d?k=01kg8W1efAQFDkyYznE3EjIA==&c=VfE7N2ER5ulELye31Q05M7izax7SCQfEOEhIvght0TQ="
onclick="window.open('http://www.google.com/recaptcha/mailhide/d?k\07501kg8W1efAQFDkyYznE3EjIA\75\75\46c\75VfE7N2ER5ulELye31Q05M7izax7SCQfEOEhIvght0TQ\075',
'', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,
width=500,height=300'); return false;" title="Reveal this e-mail address">
i...</a>@example.com
Si vous avez besoin de remplacer tous les e-mails, vous devez créer un plug-in à l’aide du Google API disponible pour reCAPTCHA. Le plugin existant "plg_emailcloak" (plugins\content\emailcloak
) est un bon début, créez simplement un nouveau plugin basé sur cela.
J'ai une suggestion simple, qui s'applique principalement au cas où vous souhaitez le faire pour un seul article et une seule adresse électronique. Il ne gérera pas les apparences d'adresses électroniques dans les articles.
Vous pouvez créer un formulaire simple, contenant un bouton captcha et un bouton d'envoi (par exemple, rsforms). Configurez le message de remerciement pour afficher l'adresse électronique, puis dans votre article, créez un lien modal pour le formulaire. Lorsque vous cliquez dessus, le formulaire contenant le captcha apparaîtra dans une fenêtre. Après l'envoi, le message sera révélé.