begin process at 2012 05 27 06:16:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > UN CONTROLE POUR METTRE UN EMAIL SUR UN SITE SANS SE FAIRE SPAMMER : NOSPAMEMAILHYPERLINK

UN CONTROLE POUR METTRE UN EMAIL SUR UN SITE SANS SE FAIRE SPAMMER : NOSPAMEMAILHYPERLINK


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :nospam, webcontrol, encoding, email Niveau :Débutant Date de création :22/06/2004 Date de mise à jour :23/06/2004 00:02:31 Vu / téléchargé :12 310 / 189

Auteur : jesusonline

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
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/NoSpamEmailHyper link.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

  • ' 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
' 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/NoSpamEmailHype rlink.asp





 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • CP.WebControls.NoSpamEmailHyperlink.dllTélécharger ce fichier [Réservé aux membres club]28 672 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) UTILISATION DE LA MÉTHODE SORT ET SORTDIRECTION AVEC UN GRID...
Source .NET (Dotnet) RESPONSE.FILTER : MANIPULATION DU STREAM DE SORTIE ASP.NET
Source avec Zip Source .NET (Dotnet) OPTIMISATION DE LA SERIALISATION JSON POUR LES LIST<T>
Source avec Zip Source .NET (Dotnet) CRAWLABLELINKBUTTON : UPDATEPANEL ET RÉFÉRENCEMENT
Source .NET (Dotnet) POSTBACKCONTROL - COMMUNICATION CLIENT/SERVEUR AVEC LES UPDA...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GUESTBOOK AVEC GRIDVIEW par DanMor498
Source avec Zip CHECKED DROPDOWNLIST par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) WEBCONTROL DATEPICKER WEBCONTROLLIBRARY par fredzool
Source avec une capture Source .NET (Dotnet) .NET 2.0: CONTRÔLE IMAGE VIEWER / UPLOADER par gldfdp
Source avec Zip Source .NET (Dotnet) CRAWLABLELINKBUTTON : UPDATEPANEL ET RÉFÉRENCEMENT par jesusonline
Source .NET (Dotnet) POSTBACKCONTROL - COMMUNICATION CLIENT/SERVEUR AVEC LES UPDA... par jesusonline
Source avec Zip Source .NET (Dotnet) COMPACTER DU JAVASCRIPT par jesusonline

Commentaires et avis

Commentaire de fabrice69 le 15/07/2004 11:25:54 administrateur CS

Ta source me semble très intéressante.
L'idée est très bonne, mais n'ayant pas de projet mettant en oeuvre des adresses mails, je ne peux pas encore le tester.

F___

Commentaire de antoine_ranou le 10/09/2004 23:07:31

Comment on peut faire pour l'utiliser en CodeBehind ? Je voudrais créer le controle de manière dynamique.

Merci pour votre aide.

Roland

Commentaire de jfbernier le 22/01/2005 19:39:39

Selon moi, la meilleure solution est de ne pas mettre son email, mais de proposer un formulaire. Deux avantages à cette solution :
- Pas d'email affiché donc pas de spamming
- et pas la peine d'être sur son ordinateur. En effet, lorsque l'on clique sur une adresse email cela ouvre outlook et donc l'expéditeur peut ne pas être celui qui envoie le message.

Commentaire de jesusonline le 22/01/2005 23:53:52 administrateur CS

tout depend ce que tu veux faire, moi je prefere envoyé un mail via outlook plutot qu'une interface web, au moins on peut l'archiver, ecrire le mail en plusieurs fois etc... donc tout depend de ce que tu veux faire.

Sinon je ne vois pas pourquoi ne pas afficher son adresse mail, avant qu'un ordinateur arrive à voir que le code javascript est en fait une adresse mail, il va y passer du temps, et ce ne sera absolument pas rentable pour un spammeur, tu peux aussi inclure ton mail dans une image et l'afficher ensuite, moi je trouve qu'une adresse mail est souvent plus pratique qu'un formulaire, chacun son choix

Cyril

Commentaire de jfbernier le 23/01/2005 10:53:13

Je comprends ton choix. Moi j'évite Javascript, c'est pour cela.

Par contre, j'aimerai bien que tu m'expliques pour l'image, je ne vois pas ce que cela change ? D'accord l'emailest dans l'image, mais il doit toujours y avoir, si tu n'utilise pas javascript, <a href=mailto:tonpseudo@tondomaine.com></a> et ça qui est récupéré par les bots.

Jeff

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

automatiser l'envoie d'email ???? [ par berserk ] Salut à tous Comment faire pour envoyer un mail en fonction d'une date déterminéeciao Probleme d'email [ par thedentiste ] Voila mon problème je voudrais envoyer un email à quelqu'un, celui ci le reçoit et l'ouvre et dans son email se trouve un bouton qui le redirige vers un peu daide svp [ par CooLNicK ] salut bon jai une page en asp qui post des infos sue un email et ca marche . (la page est la suivante)&lt;%Dim objCDOMailSet objCDOMail = Server.Creat cacher l'adresse email sous outlook [ par Arken ] bonjour, j'aimerai savoir si on peut mettre un autre texte à la place de l'adresse email sous outlook, en faisant un mailto, en html si possible, et s html dans asp [ par fuji ] salut,j'envois un mail de confirmation à l'adresse de la personne qui s'est abonné à ma newsletter et j'arrive pas à mettre un texte à la ligne!Je vou Problème avec l'envoie d'un email avec asp!!! [ par ali ] la section body de l'email contient un lien, ce lien contient un paramétre, le problème c'est que ce paramétre est vide (Ex: mail.asp?ID= ) Bug webcontrol treeview [ par karim ] Bonjour a tous !J'utilise VS.Net version Beta 2.je crée une webform dans laquelle j'ajoute un treeview et un bouton(webcontrols). Je ne rajoute aucun html dans un email [ par thedentiste ] Comment envoyer une page html dans un email. je veux que l'administrateur du site recoive un email en html avec de l'asp et quand on clique sur un bou Tracker un Email ouvert [ par Fred ] Je cherche comment faire pour détecter si un email a été ouvert. J'ai essayé de mettre en html dans le mail &lt;script src="incremente.asp ou de même enregistrements multiples [ par rony ] bjr, j'utilise aspsmartupload pour uploader dans ma base le nom d'un fichier est six champs texte: nom, prenom, tel, email, q1, et f1mon petit pbs est


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,544 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales