Un controle pour mettre un email sur un site sans se faire spammer : nospamemailhyperlink

Description

Dans la plupart des sitew web, on aime bien mettre au moins une adresse web.

Cependant depuis quelques temps, des robots sillone le web à la recherche d'adresse Email pour envoyer des spams, et on aime pas trop recevoir des spams.

Pour éviter cela il existe plusieurs techniques :
- on ne met pas son Email : pas la peine de dire le défaut de cette solution
- on ecrit son adresse mail en rajoutant des mots genre personne@ NoSpam serveur.com. mais de plus en plus de robots déjoues cette technique, et puis c'est pas tres professionnels
- on ecrit du javascript qui nous fera ca tres bien

c'est cette derniere solution que je vais vous presentez.
Cette source n'est pas de moi mais de Paul RILEY.
Vous pouvez trouvez les Articles expliquant son controle à cette adresse :
- http://www.codeproject.com/aspnet/NoSpamEmailHyperlink.asp

Je vous fait donc part de ce control, qui est abondamment expliqué sur le site.

Ci dessous vous pouvez voir comment l'implementer dans votre page

Je vous aussi mis le rendu, il y a le code Javascript, j'ai moi meme renoncé de le lire :p

Source / Exemple :


' Dans l'aspx :
' <%@ Register TagPrefix="cpspam" Namespace="CP.WebControls" Assembly="CP.WebControls.NoSpamEmailHyperlink" %>

' <cpspam:nospamemailhyperlink id="NoSpamEmailHyperlink1" runat="server" email="Personne@Site.com">Personne@Site.com</cpspam:nospamemailhyperlink>

'C'est tout, vous avez fait tout ce qu'il fallait faire pour plus etre spammé.

'Ci dessous je vous mets le rendu HTML 
'En dessous du <form> rajout de ce script : 

	<script language="javascript">
<!--
function NoSpamEmailHyperlink_DecodeScript(link, seed) { var ky = "yJzdeB4CcDnmEFbZtvuHlI1hA8SiLo9MwfN3O6Y5QaRqKTjUpxVk2WgXrP7Gs0"; var storeText = link.innerHTML; var baseNum = parseInt(seed); var atSym = link.href.indexOf("@"); if (atSym == -1) atSym = 0; var dotidx = link.href.indexOf(".", atSym); if (dotidx == -1) dotidx = link.href.length; var scramble = link.href.substring(7, dotidx); var unscramble = ""; var su = true; for (i=0; i < scramble.length; i++) { var ch = scramble.substring(i,i + 1); var idx = ky.indexOf(ch); if (idx < 0) { unscramble = unscramble + ch; continue; } idx -= (su ? -baseNum : baseNum); baseNum -= (su ? -i : i); while (idx < 0) idx += ky.length; idx %= ky.length; unscramble = unscramble + ky.substring(idx,idx + 1); su = !su; } var emAdd = unscramble + link.href.substring(dotidx, link.href.length + 1); link.href = "mailto:" + emAdd; var findEm = storeText.indexOf(scramble); while (findEm > -1) { storeText = storeText.substring(0, findEm) + emAdd + storeText.substring(findEm + emAdd.length, storeText.length); findEm = storeText.indexOf(scramble); } link.innerHTML = storeText; } // -->
</script>

' à l'endroit ou vous affichez le lien : 
'<a href="mailto:NiN1c329@CXsf.com" id="NoSpamEmailHyperlink1">NiN1c329@CXsf.com</a>

' Puis en bas de la page : 

<script language="javascript">
<!--
	var NoSpamEmailHyperlink_LinkNames =  new Array("NoSpamEmailHyperlink1");
	var NoSpamEmailHyperlink_Seeded =  new Array("23");
		// -->
</script>

			<script language="javascript">
<!--
for (NoSpamEmailHyperlink_DecodeScriptCall_idx = 0; NoSpamEmailHyperlink_DecodeScriptCall_idx < document.links.length; NoSpamEmailHyperlink_DecodeScriptCall_idx++) { for (NoSpamEmailHyperlink_DecodeScript_idx = 0; NoSpamEmailHyperlink_DecodeScript_idx < NoSpamEmailHyperlink_LinkNames.length; NoSpamEmailHyperlink_DecodeScript_idx++) { if (document.links[NoSpamEmailHyperlink_DecodeScriptCall_idx].id == NoSpamEmailHyperlink_LinkNames[NoSpamEmailHyperlink_DecodeScript_idx]) { NoSpamEmailHyperlink_DecodeScript(document.links[NoSpamEmailHyperlink_DecodeScriptCall_idx], NoSpamEmailHyperlink_Seeded[NoSpamEmailHyperlink_DecodeScript_idx]); } } } // -->
</script>

'On voit donc que nul part l'adresse mail apparait

Conclusion :


Dans le zip il y a la dll qui contient ce control, il vous suffit simplement de mettre ca dans le repertoire bin de l'application.
toutes les infos se trouvent ici :
http://www.codeproject.com/aspnet/NoSpamEmailHyperlink.asp

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.